Переименование файла в формате даты - PullRequest
0 голосов
/ 23 июня 2019

Привет, у меня есть файл с текущей датой в его имени, я хочу переименовать этот файл, но я не могу этого сделать, может ли кто-нибудь мне помочь?

Текущее имя файла: 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 Ответ

1 голос
/ 23 июня 2019

Возможно, что-то подобное будет работать для вас.

@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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...