重命名日期格式的文件

时间:2019-06-23 11:59:29

标签: batch-file

嗨,我有一个名称为当前日期的文件,我想重命名该文件,但我无法重命名,有人可以帮我吗?

当前文件名:19062206.xlsx (yyddmm06)

新文件名:19062206 TAS.csv

代码:rename.bat

@echo off 
for /f "tokens=1-5 delims=/ " %%d in ("%date%") do rename "E:\Files\%%g%%f%%e06.xlsx" %%g%%f%%e06 TAS.csv
pause


已更新以获取更多建议:

For /F "Tokens=1-3 Delims=/ " %%A In ('RoboCopy /NJH /L "\|" Null') Do @Set "ds=%%A%%B%%C" & GoTo Break
@Pause
:Break
@If Exist "E:\HCA_Automation\Files\%ds:~2%06.xlsx" Ren "E:\HCA_Automation\Files\%ds:~2%06.xlsx" "%ds:~2%06 TAS.xlsx"
Pause

1 个答案:

答案 0 :(得分:1)

也许这样的东西对您有用。

@PushD "E:\HCA_Automation\Files" 2>NUL || GoTo :EOF
@For /F "Tokens=1-3 Delims=/ " %%A In ('RoboCopy /NJH /L "\|" Null') Do @Set "ds=%%A%%B%%C" & GoTo Break
:Break
@If Exist "%ds:~2%06.xlsx" If Not Exist "%ds:~2%06 TAS.csv" Ren "%ds:~2%06.xlsx" "%ds:~2%06 TAS.csv"
@PopD

[编辑/]

以下示例使用以您需要的格式检索昨天的日期,并执行与上述示例相同的任务:

@PushD "E:\HCA_Automation\Files" 2>NUL || GoTo :EOF
@For /F %%A In ('PowerShell "(Get-Date).AddDays(-1).ToString('yyddMM')"'
) Do @If Exist "%%A06.xlsx" If Not Exist "%%A06 TAS.csv" Ren "%%A06.xlsx" "%%A06 TAS.csv"
@PopD