我有一个文件夹,它连续从相机拍摄jpg图像,jpg采用这种格式。
1UYK08HJ_20140403165858071_SYPTE1-PC.jpg
1YK0BHJX_20140403165902791_SYPTE1-PC.jpg
1YK08HJX_20140403165959270_SYPTE1-PC.jpg
IDYKDBH_20140403170236634_SYPTE1-PC.jpg
我正在尝试将SYPTE1-PC中的文本替换为SHEFFIELD我正在运行此脚本,它首次完美运行但是当我尝试再次运行相同的脚本时,它不适用于其他新创建的图像。我使用了名为repl.bat的第三方帮助程序批处理文件。 https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat
@echo off
dir *.jpg /b /a-d |find /i /v "%~nx0" |find /i /v "repl.bat" |repl "(.*?_)(....)(..)(..)(..)(..)(..)(...).*(\..*)" "ren \q$&\q \q$1SHEFFIELD_$2_$3_$4-$5_$6_$7_$8$9\q" xa >"C:\Users\IT-Administrator\Desktop\export\renfiles.bat"
答案 0 :(得分:0)
试试这个:
@echo off&cls
setlocal EnableDelayedExpansion
for %%a in (*.JPG) do (
set $file="%%a"
ren "%%a" "!$file:SYPTE1-PC=SHEFFIELD!"
echo File [%%a] Done)
:EDIT
如需更多选项,您可以这样做:
@echo off&cls
setlocal EnableDelayedExpansion
for %%a in (*.JPG) do (
set $file="%%a"
set $file="!$file:SYPTE1-PC=SHEFFIELD!"
set $file="!$file:SYPTE=SHEFFIELD!"
ren "%%a" "!$file!"
echo File [%%a] Done)
编辑2
分离方法:20140403165858071 in 2014_04_03_16_58_58_071
@echo off&cls
setlocal EnableDelayedExpansion
for /f "tokens=1-4 delims=_." %%a in ('dir /b/a-d *.JPG') do (
echo %%a %%b %%c %%d
set $Char=%%b
set $CharF=!$Char:~0,4!_!$Char:~4,2!_!$Char:~6,2!_!$Char:~8,2!_!$Char:~10,2!_!$Char:~12,2!_!$Char:~14!
echo !$CharF!
pause)
然后,您可以使用REN
或您希望的方式自行调整%%a_!$CharF!_%%c_%%d