我有以下代码:
set DATE=%date%
echo %DATE%
set DAY=%DATE:~0,2%
echo %DAY%
rename file09.txt file%DAY%09.txt
pause
应该重命名文本文件并将月中的日期放在文件名中。但是我在rename
命令上遇到语法错误。
我认为问题在于将变量插入文件名中。任何帮助,将不胜感激。 echo
只是在程序中供我自己参考。
答案 0 :(得分:6)
正如已经说过的那样 - 粘贴的代码在许多行上都有尾随空格,空格通常很重要。我发布了这个,因为您重复使用了系统DATE变量名称并导致了问题,并向您显示引号通常很有用 - 并且需要长文件名。
set "D=%date%"
echo "%D%"
set "DAY=%D:~0,2%"
echo "%DAY%"
rename "file09.txt" "file%DAY%09.txt"
pause
答案 1 :(得分:2)
set
命令中可能有尾随空格。试试这个:
set "DAY=%DATE:~0,2%"
顺便说一句。使用set DATE=%date%
,您不会创建新变量。变量必须具有不区分大小写的唯一名称。
答案 2 :(得分:0)
问题是日期配置,因为变量的内容是错误的。
如果变量有空格或不寻常的字符,确实使用了引号,因为它确保了全名。
查看我的帖子以查看Endoro答案..这对我有用
使用Batch变量重命名文件不能与其他用户配置文件一起使用 “Renaming file with Batch variable doesnt work with another user profile”