我得到了一些帮助脚本编写批处理脚本来标记来自foxidrive的图像文件。但是,我搞砸了目录,它标记了该文件夹中的所有内容。所以现在我有1000多个图像(.jpg)文件,每个文件名末尾有这个字符串" - 09-07-2014 - 09-07-2014 - 09-07-2014 - 09-07-2014 - 21-07-2014 - 21-07-2014.jpg"。
有没有办法通过从给定文件夹上的每个.jpg文件上的这些文件名中删除上面的字符串来重命名这些?我打算在命令提示符下写这个
感谢。
答案 0 :(得分:1)
在文件夹中启动它,然后检查renfiles.bat
以查看重命名命令是否正确,然后再删除.txt
并运行它。
@echo off
for %%a in (*.jpg) do (
echo "%%a"|repl "^.(.*) - 09-07-2014 - 09-07-2014 - 09-07-2014 - 09-07-2014 - 21-07-2014 - 21-07-2014.*" "ren $& \q$1%%~xa\q" ax >> renfiles.bat.txt
)
这使用名为repl.bat
的助手批处理文件(由dbenham提供) - 从以下网址下载:https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat
将repl.bat
放在与批处理文件相同的文件夹中或放在路径上的文件夹中。
答案 1 :(得分:0)
@echo off
set workdir=d:\test
cd %workdir%
for /f "delims=" %%i in ('dir /b /s *.jpg') do call :search "%%i"
goto :eof
:search
set filename=%~n1
set fileextn=%~x1
set newfilename=%filename: - 09-07-2014 - 09-07-2014 - 09-07-2014 - 09-07-2014 - 21-07-2014 - 21-07-2014=%
ren "%filename%%fileextn%" "%newfilename%%fileextn%" >nul 2>&1
:eof
样本 -
D:\>dir d:\test
Volume in drive D is New Volume
Volume Serial Number is B04C-AB59
Directory of d:\test
24/07/2014 19:16 <DIR> .
24/07/2014 19:16 <DIR> ..
24/07/2014 19:09 2 ABC Court Doc - 09-07-2014 - 09-07-2014 - 09-07-2014 - 09-07-2014 - 21-07-2014 - 21-07-2014.jpg
24/07/2014 19:09 2 YXZ Court Doc - 09-07-2014 - 09-07-2014 - 09-07-2014 - 09-07-2014 - 21-07-2014 - 21-07-2014.jpg
2 File(s) 4 bytes
2 Dir(s) 7,037,292,544 bytes free
D:\>draft.bat
D:\test>dir d:\test
Volume in drive D is New Volume
Volume Serial Number is B04C-AB59
Directory of d:\test
24/07/2014 19:16 <DIR> .
24/07/2014 19:16 <DIR> ..
24/07/2014 19:09 2 ABC Court Doc.jpg
24/07/2014 19:09 2 YXZ Court Doc.jpg
2 File(s) 4 bytes
2 Dir(s) 7,037,292,544 bytes free
干杯,G