我有一堆分布在文件夹和子文件夹中的图像文件。我想做的是将它们全部移动到一个文件夹中,并根据它们以前的路径重命名它们。
为了说明,文件src/a/b/file1.png
应该变成 src/a_b_file1.png
在 Linux 中可能有一种聪明的方法可以做到这一点,但我目前使用的是 Windows 7 机器。
任何提示都很好,GUI 或命令行工具或一些脚本,没关系。谢谢。
最佳答案
试试这个:然后在记事本中检查 renfile.bat 看它是否适合您。 如果需要,添加更多文件类型。
@echo off
echo.@echo off> renfile.bat
for /f "delims=" %%a in ('dir *.jpg *.png *.gif /b /s /a-d ') do call :next "%%a"
echo renfile.bat created
pause
goto :eof
:next
set "var=%~1"
call set "var=%%var:%cd%=%%"
set "var=%var:\=_%"
>>renfile.bat echo ren "%~1" "%var:~1%"
还有另一个批处理文件,用于在重命名后移动所有文件:
@echo off
md "c:\target folder\"
for /f "delims=" %%a in ('dir *.jpg *.png *.gif /b /s /a-d ') do (
move "%%a" "c:\target folder\"
)
关于windows - 在 Windows 7 中根据文件路径更改文件名和移动文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17222011/