我的文件名由数字,空格和名称组成。例如,"023 filename1.txt"
。
我想创建一个重命名此类文件的Batch脚本。它需要识别子字符串并删除空格字符之前的所有内容。例如,"023 filename1.txt"
将重命名为"filename1.txt"
。
请在批处理文件中说明如何执行此操作。
答案 0 :(得分:3)
答案 1 :(得分:2)
@echo off
setlocal EnableDelayedExpansion
for %%a in (*.txt) do (
set newName=%%a
ren "%%a" "!newName:* =!"
)
这一部分:"!newName:* =!"
表示“接受newName变量并从其值的开头替换,直到没有任何空格”,即消除开始直到第一个空格。
答案 2 :(得分:1)
这只会回应它将执行的命令。删除第三行的回显以实际重命名。
@echo off
for %%F in (*.txt) do (
for /F "tokens=1,*" %%I in ("%%F") do echo ren "%%F" "%%J"
)
第一个for
遍历所有.txt
个文件。
第二个for
将每个文件名拆分为初始编号,其余文件名使用tokens=1,*
。 %I
获取数字(被忽略),%J
获取新文件名。