Мне нужно написать пакетный файл, чтобы он мог выбирать файлы из разных папок в соответствии с датой, переданной и копировать эти файлы в пункт назначения и переименовывать файл (т. если имя файла похоже на abcd_yyyymmdd, то оно будет переименовываться как abcd), чтобы переименовать многократный файл в нескольких папках, используя партию
Ниже приведен мой пакетный файл, он копирует все соответствующие файлы из источника в пункт назначения в соответствии с указанной датой, но переименование не выполняется.
@ECHO OFF
SET date="20150211"
SET AAH_PATH=D:\ABC\Data\IN\ABCD
COPY D:\ABC\Data\IN\ABCD\*_%date%.txt D:\ABC\Data\File\*.txt
SET FOLDER_PATH=D:\ABC\Data\File
pushd %FOLDER_PATH%
for /F "tokens=1* delims=_" %%a in ('dir /B *.txt') do ren "%%a_%%b" "%%a.txt"
popd
SET SIE_PATH=D:\ABC\Data\IN\SIE
COPY D:\ABC\Data\IN\SIE\*_%date%.txt D:\ABC\Data\NEWFILE\*.txt
SET SIE_DEST=D:\ABC\Data\NEWFILE
pushd %SIE_DEST%
for /F "tokens=1* delims=_" %%a in ('dir /B *.txt') do ren "%%a_%%b" "%%a.txt"
popd
SET UB_ABF=D:\ABC\Data\IN\UB\ABF
COPY D:\ABC\Data\IN\UB\ABF\*_%date%.txt D:\ABC\Data\UB\*.txt
SET UB_BCL=D:\RBC\Data\IN\UB\BCL
COPY D:\RBC\Data\IN\UB\BCL\*_%date%.txt D:\ABC\Data\UB\*.txt
SET UB_DEST=D:\ABC\Data\UB
pushd %UB_DEST%
for /F "tokens=1* delims=_" %%a in ('dir /B *.txt') do ren "%%a_%%b" "%%a.txt"
popd
Может кто-то помочь мне решить эту проблему
место эхо-команды до строки с помощью for-statement. Таким образом, вы можете контролировать, если линии будут расширены, как вы ожидаете –