【发布时间】:2015-04-03 17:40:42
【问题描述】:
我正在尝试重命名具有 .bak 扩展名的文件。但我不知道 test56.bak 的名称,因为它一直在变化。
可以这么说:
test56.bak
重命名为:
上传.bak
我试过了,但它不起作用:
rename F:\BackupRestore *.bak Upload.bak
【问题讨论】:
标签: batch-file window
我正在尝试重命名具有 .bak 扩展名的文件。但我不知道 test56.bak 的名称,因为它一直在变化。
可以这么说:
test56.bak
重命名为:
上传.bak
我试过了,但它不起作用:
rename F:\BackupRestore *.bak Upload.bak
【问题讨论】:
标签: batch-file window
您使用的语法不正确
REN [drive:][path]SourceMask TargetMask
正确的语法:
rename F:\BackupRestore\*.bak Upload.bak
用于多个文件
dir c:\bkp\ /A:-D /b | findstr.exe /n /R "*.bkp" > %temp%/file-count.txt
FOR /F "tokens=1-10 delims=:" %%A IN ('type "%temp%/file-count.txt"') do set NUMBER-OF-FILES=%%A
FOR /L %%A IN (1,1,%number-of-files%) DO CALL rename %%A
:rename
FOR /F "tokens=1-10 delims=:" %%A IN ('type "%temp%/file-count.txt" ^| findstr "%1:"') do ren %%B upload-%RANDOM%.bak
【讨论】:
* 通配符(匹配任何字符),如果出现多个.bak 文件,您的命令将无法提升errorlevel 1 并打印A duplicate file name exists, or the file cannot be found 消息!
rename F:\BackupRestore\*.bak Upload.bak 和 * 根本上是错误的。