我有以下代码:
set DATE=%date%
echo %DATE%
set DAY=%DATE:~0,2%
echo %DAY%
rename file09.txt file%DAY%09.txt
pause
它应该重命名文本文件并将月份中的日期放在文件名中。但是,我在rename
命令上遇到语法错误。
我认为问题在于将变量插入文件名。任何帮助,将不胜感激。echo
s只是在程序中供我自己参考。
我有以下代码:
set DATE=%date%
echo %DATE%
set DAY=%DATE:~0,2%
echo %DAY%
rename file09.txt file%DAY%09.txt
pause
它应该重命名文本文件并将月份中的日期放在文件名中。但是,我在rename
命令上遇到语法错误。
我认为问题在于将变量插入文件名。任何帮助,将不胜感激。echo
s只是在程序中供我自己参考。
如前所述 - 您粘贴的代码在许多行上都有尾随空格,并且这些空格通常很重要。我发布这个是因为您重用了系统 DATE 变量名称,这会导致问题,并向您展示引号通常很有帮助 - 并且需要长文件名。
set "D=%date%"
echo "%D%"
set "DAY=%D:~0,2%"
echo "%DAY%"
rename "file09.txt" "file%DAY%09.txt"
pause
您可能在set
命令中有尾随空格。试试这个:
set "DAY=%DATE:~0,2%"
顺便提一句。与set DATE=%date%
您一起不会创建新变量。变量必须具有不区分大小写的唯一名称。
问题是日期配置,因为变量的内容是错误的。
真正使用引号起作用,因为如果变量有空格或不寻常的字符,它可以确保全名。
查看我的帖子以查看 Endoro 答案..它适合我
使用批处理变量重命名文件不适用于另一个用户配置文件“使用批处理变量重命名文件不适用于另一个用户配置文件”