美好的一天,使用批处理文件修改日期重命名文件
我很可能是新建批处理文件。我的目标是将文件从源文件复制到目标文件夹,并在修改日期后将文件重命名为目标文件夹。我已经退出获取修改日期的挑战。它用CURRENT DATE显示或重命名文件,而不是修改日期。这是我送给你的参考代码:
@echo off
setLocal EnableDelayedExpansion
::set tDate=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%
set tDate=%date:~7,2%-%date:~4,2%-%date:~10,4%
set source="C:\Source Folder"
set target=%userprofile%\Desktop\backup
for %%i in (%source%\AL*.*) do (
::set myfiledate=%%~ta
copy "%%i" "%target%\%tDate%_%%~nxi"
)
我真的很感谢你对此事的输入
感谢
因此,您从当前日期开始设置'tdate',然后扫描目录并使用'tdate'复制文件,因此毫不奇怪目标文件的当前日期是其名称的一部分。在代码块中使用':: comment'是一种不好的做法 - 这是一个破碎的标签,可能会导致意外的结果。 – Magoo
感谢您的输入。我会考虑那个评论。所以我如何提取修改日期并将其附加到文件名上。 – Djspooch
阅读'for'的帮助(在'commad提示符窗口中输入'for /?',特别是'〜'修饰符的部分;你会发现有一种方法可以获得最后的修改日期;请注意,这会以与区域相关的方式返回日期,就像'%DATE%'和'%TIME%'变量一样...... – aschipfl