[英]Rename file on Command Prompt
我有这样的文件,想重命名: 原始文件: 14876128.AOB.A14R2229-A14S2229.USER.pdf
这样重命名: 14876128.AOB.A14R2229...A14S2229.051922.USER.pdf
14876128.AOB.A14R2229
将保持与原始文件名相同。 -
将替换为...
(三个点)。 A14S2229
将保持与原始文件名相同。 USER
将保持与原始文件名相同。 在USER
之前插入日期并添加.
(点)。
我试过了:
REN ????????.???.????????-????????.?????.pdf ????????.???.????????...????????.%date:~10,4%%date:~7,2%%date:~4,2%.?????.pdf
但只工作一半,请指教。 先感谢您。
该命令确实只工作了一半,结果是:
14876128.AOB.A14R2229....052022..pdf
原因是目标名称是严格从左到右根据源名称处理的,没有回溯。 这只是意味着您可以在重命名文件时缩短文件名,但不允许将其变长。 (另请检查: Windows cmd line renames removes zeros from filenames? )
尝试不同的策略,例如批处理脚本,您可以在其中保存部分文件名,然后通过重命名而不使用通配符来构造目标文件名。
创建一个新的文本文件,并在其中写入以下行:
@echo off
For %%f in (*-*) do call :-replace "%%f"
:-replace
if "%~1"=="" exit
set "OldName=%~n1"
set "NewName=%OldName:-=...%"
set "NewName=%NewName:.USER=%"
ren "%~1" "%NewName%.%date:~10,4%%date:~7,2%%date:~4,2%.USER%~x1"
将其保存为 .bat 脚本,将其放在包含您要修改的文件的文件夹中,然后从那里运行它。
这会将所有破折号 (-) 替换为三个点 (...)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.