Мне нужен пакетный скрипт для копирования всего одного файла, повторяющегося каждые 1 час, этот файл имеет имя file_name_YYYY_MM_DD_hh_mm.csv
.Файл существует в Loc1Dir=C:\Users\abcde\Desktop\Practice_Folder\batch_rename\location1
и должен быть скопирован в Loc2Dir=C:\Users\abcde\Desktop\Practice_Folder\batch_rename\location2
, а затем переименован в file_name.csv
(удаление метки времени).Мне нужно, чтобы этот файл перезаписывался каждый раз, когда файл копируется в Loc2Dir
.
. В настоящее время я использую этот скрипт:
@ECHO ON
SET Loc1Dir=C:\Users\fgutierrez\Downloads
SET Loc2Dir=C:\Users\fgutierrez\Desktop\CrossCheck
CD /D "%Loc1Dir%"
FOR /R %%F IN ("*_*.csv") DO CALL :copyFile %%~F %%~NXF
GOTO: EOF
:copyFile
SET copyfname=%~1
SET fname=%~2
SET fname=%fname:_=-%
ECHO F | XCOPY /Y /F "%copyfname%" "%Loc2Dir%\%fname%"
:::XCOPY /Y /F "%copyfname%" "%Loc2Dir%\"
:::REN "%copyfname%" "%fname%"
GOTO :EOF
Он работает нормально, но он просто заменяет _
в file_name_YYYY_MM_DD_hh_mm.csv
для -
будет file-name-YYYY-MM-DD-hh-mm.csv
Есть идеи?