首页 > 解决方案 > 用今天的日期重命名文件名中具有 & 的文件

问题描述

我想重命名一个包含今天日期的 MS-word 文件,CEEMEA & LATAM.Docx使用.CEEMEA & LATAM 113018.Docxcmd

.Docx.Bat文件都在同一个文件夹中。我从以下命令开始并得到“系统找不到指定的路径”。

ren "CEEMEA & LATAM.Docx" "CEEMEA & LATAM %date%.Docx"

标签: batch-filecmdrename

解决方案


通常,date批处理文件中的变量包含:

  • 今天的前三个字母(但在某些系统中不存在)。

  • 今天的日期(每个系统的格式不同)[数字通常由/被解释为目录分隔符的符号分隔]。

这种方式创建mmddyy格式为IN CMD的日期戳:

for /f "tokens=2 delims==" %A in ('wmic OS Get localdatetime /value') do set "dt=%A"
set "YY=%dt:~2,2%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
rem M=month D=day Y=Year
set datestamp=%MM%%DD%%YY%
rem Change datestamp variable as you want.
ren "CEEMEA & LATAM.Docx" "CEEMEA & LATAM %datestamp%.Docx"

注意:以上代码只针对cmd。如果您希望它用于批处理文件,则将循环变量的百分号 (%) 加倍(在两种情况下%A都应变为%%A) 。


推荐阅读