如何重命名包含“ _”或“ __”的多个文件?
问题1被我解决了。
文件名看起来像这样:
any1_any2_any3_any4_any5_any6_any7_etc.txt
任何一个都可以是数字或字母,最多可以是7个任意组
最后,我只需要前6组:
any1_any2_any3_any4_any5_any6.txt
我的解决方案:
@echo off
setlocal enabledelayedexpansion
if exist %tmp%\temp.tmp del %tmp%\temp.tmp
dir /b *.txt >%tmp%\temp.tmp
for /F "tokens=1-17 delims=_" %%a in (%tmp%\temp.tmp) do (
ren "%%a_%%b_%%c_%%d_%%e_%%f_*" "%%a_%%b_%%c_%%d_%%e_%%f.txt"
)
if exist %tmp%\temp.tmp del %tmp%\temp.tmp
问题2:
有时我没有一个“ _”,而是一个双“ __”,但位置不固定。
any1_any2_any3__any4_any5_any6_any7_etc.txt
在这种情况下我的批处理不起作用
结果必须相同:
any1_any2_any3__any4_any5_any6.txt
感谢