使用批处理文件重命名具有修改日期的文件

时间:2017-03-13 05:07:52

标签: batch-file

美好的一天,

我可能是创建批处理文件的新手。我的目标是将文件从源文件复制到目标文件夹,并在文件进入目标文件夹后将文件重命名为修改日期。我已经退出了修改日期的挑战。它使用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"
)

我非常感谢您对此事的意见

由于

1 个答案:

答案 0 :(得分:0)

...
for %%i in (%source%\AL*.*) do (
set myfiledate=%%~ti
ECHO(copy "%%i" "%target%\!myfiledate:~0,2!!myfiledate:~5,2!!myfiledate:~6,4!_%%~nxi"
)

我假设您希望新文件中的日期格式为aabbyyyy,但我建议您使用YYYYMMDD以便于排序。

我还建议您先从echo复制命令开始,以确保其正确无误(如上所示) - 只需删除echo(即可执行副本

可能需要根据您的设置和要求更改三个连接日期元素!myfiledate:~x,y!的序列。他们应该提取年,月和日。