2

我有以下代码:

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

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

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

4

3 回答 3

6

如前所述 - 您粘贴的代码在许多行上都有尾随空格,并且这些空格通常很重要。我发布这个是因为您重用了系统 DATE 变量名称,这会导致问题,并向您展示引号通常很有帮助 - 并且需要长文件名。

set "D=%date%"
echo "%D%"
set "DAY=%D:~0,2%"
echo "%DAY%"
rename "file09.txt" "file%DAY%09.txt"
pause
于 2013-08-23T03:57:37.133 回答
2

您可能在set命令中有尾随空格。试试这个:

set "DAY=%DATE:~0,2%"

顺便提一句。与set DATE=%date%您一起不会创建新变量。变量必须具有不区分大小写的唯一名称。

于 2013-08-22T14:50:31.137 回答
0

问题是日期配置,因为变量的内容是错误的。

真正使用引号起作用,因为如果变量有空格或不寻常的字符,它可以确保全名。

查看我的帖子以查看 Endoro 答案..它适合我

使用批处理变量重命名文件不适用于另一个用户配置文件“使用批处理变量重命名文件不适用于另一个用户配置文件

于 2013-10-26T08:04:13.810 回答