使用Batch变量重命名文件

时间:2013-08-22 14:12:02

标签: windows file batch-file rename

我有以下代码:

set DATE=%date% 
echo %DATE% 
set DAY=%DATE:~0,2% 
echo %DAY% 
rename file09.txt file%DAY%09.txt
pause

应该重命名文本文件并将月中的日期放在文件名中。但是我在rename命令上遇到语法错误。

我认为问题在于将变量插入文件名中。任何帮助,将不胜感激。 echo只是在程序中供我自己参考。

3 个答案:

答案 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