bat批处理,根据清单中的文件名将多个文件移动到另外一个路径下,如何批量处理?非常感谢!

根据文件名清单批量移动多个文件到指定路径下

@echo off & title 移动清单内文件 By 依梦琴瑶

::设置清单列表文件
set List=D:\FilesList.txt

::设置原文件所处目录路径
set SrcDir=D:\MyFileFolder

::设置目标保存目录路径
set SavDir=D:\SaveFileFolder

::此段落代码适用于原文件在主目录中
for /f "usebackq delims=" %%a in ("%List%") do (
    move "%SrcDir%\%%~a" "%SavDir%\"
)


::此段落代码适用于原文件在主目录或其子目录中
for /f "usebackq delims=" %%a in ("%List%") do (
    pushd "%SrcDir%"
    for /f "delims=" %%b in ('dir /a-d/s/b "%%~a"') do move "%%~b" "%SavDir%\"
    popd
)

::以上两个段落代码,请根据自己需求选择保留其中一个,不需要的,请删除。

pause
call :Donate
exit

:Donate
set "S0=fPdv"
set "S1=.:ailnhpst/"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-15
复制粘贴到记事本,另存为xx.bat,编码选ANSI@echo off
rem 根据一个txt文本文件里列出的文件名清单列表,将多个文件从一个文件夹里剪切/移动到另一个新的文件夹里
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "txtfile=清单.txt"
set "oldfolder=D:\xxx\原文件夹"
set "newfolder=D:\yyy\新文件夹"
if not exist "%oldfolder%" (echo;"%oldfolder%" no found&goto end)
if not exist "%newfolder%" md "%newfolder%"
for /f "delims=" %%a in ('type "%txtfile%"') do (
    if exist "%oldfolder%\%%a" (
        echo;"%oldfolder%\%%a" --^> "%newfolder%\"
        move "%oldfolder%\%%a" "%newfolder%\"
    )
)
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit

本回答被网友采纳
相似回答