需要有关在 windows 中重新编写此批处理脚本以从文件名中删除我想要的字符的指导
Need guidance on re-write this batch script in windows to eliminate the characters I want from file names
上面的脚本删除了所有文件名前面的字母 A。
@echo off
for %%a in (A*.*) do ren "A*" "/*"
假设我想去掉文件名的最后几个字母(2 个或更多字符)例如,对于一个名为 dinnermenu_FR 的文件,我想去掉文件中的 _FR 或 FR名字。
@echo off
for %%a in (*.*_FR) do ren "*FR" "/*"
如果我想保留下划线但去掉后面的字符,我该如何重写?
REM for each matching file do...
for %%a in (*_FR.*) do (
REM get the part of the filename before the underscore...
for /f "delims=_" %%b in ("%%~na") do (
REM rename the file...
ECHO ren "%%a" "%%b%%~xa"
)
)
每一行我都做了注释,所以你应该能看懂代码。有关修饰符 %%~..
的帮助,请参阅 for /?
。
我还通过回显来“解除”ren
命令。排除故障后删除 ECHO
,当您确定时,它会做您想要的。
上面的脚本删除了所有文件名前面的字母 A。
@echo off
for %%a in (A*.*) do ren "A*" "/*"
假设我想去掉文件名的最后几个字母(2 个或更多字符)例如,对于一个名为 dinnermenu_FR 的文件,我想去掉文件中的 _FR 或 FR名字。
@echo off
for %%a in (*.*_FR) do ren "*FR" "/*"
如果我想保留下划线但去掉后面的字符,我该如何重写?
REM for each matching file do...
for %%a in (*_FR.*) do (
REM get the part of the filename before the underscore...
for /f "delims=_" %%b in ("%%~na") do (
REM rename the file...
ECHO ren "%%a" "%%b%%~xa"
)
)
每一行我都做了注释,所以你应该能看懂代码。有关修饰符 %%~..
的帮助,请参阅 for /?
。
我还通过回显来“解除”ren
命令。排除故障后删除 ECHO
,当您确定时,它会做您想要的。