我必须写一个批处理文件,它必须根据传入的日期从各个文件夹中选择文件并将这些文件复制到目标并重命名该文件(即.if filename就像abcd_yyyymmdd然后它将重命名as 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
有人可以帮我解决这个问题
答案 0 :(得分:0)
尝试将文件扩展名添加到每个for / f ren循环中的源路径...
for /F "tokens=1* delims=_" %%a in ('dir /B *.txt') do ren "%%a_%%b.txt" "%%a.txt"