繁体   English   中英

在命令提示符下重命名文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM