使用批处理重命名多个文件夹中的多个文件

时间:2015-04-08 07:56:50

标签: batch-file cmd

我必须写一个批处理文件,它必须根据传入的日期从各个文件夹中选择文件并将这些文件复制到目标并重命名该文件(即.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

有人可以帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

尝试将文件扩展名添加到每个for / f ren循环中的源路径...

for /F "tokens=1* delims=_" %%a in ('dir /B *.txt') do ren "%%a_%%b.txt" "%%a.txt"