当前位置:首页>>技术文章>>内容详情

清单内的文件移动到指定文件夹内

2026年09月21日
Tags:移动文件

脚本逻辑:从00.txt读取文件名清单,把当前目录里清单内的文件移动到 D:\target

@echo off
chcp 65001 >nul
:: ========== 配置区 ==========
set "SOURCE=."
set "DEST=D:\target"
set "LIST_FILE=00.txt"
:: ============================

:: 把SOURCE转为绝对路径,避免工作目录错乱
for %%i in ("%SOURCE%") do set "SOURCE=%%~fi"

:: 创建目标文件夹
if not exist "%DEST%" mkdir "%DEST%"

echo 正在读取清单 %LIST_FILE%
echo 源目录:%SOURCE%
echo 目标目录:%DEST%
echo --------------------------

for /f "usebackq delims=" %%f in ("%LIST_FILE%") do (
    :: 去除行首尾空格
    for /f "tokens=*" %%a in ("%%f") do set "line=%%a"
    call :processLine
)
goto end

:processLine
if not defined line goto :eof
if "%line%"=="" goto :eof

if exist "%SOURCE%\%line%" (
    move /Y "%SOURCE%\%line%" "%DEST%\"
    if !errorlevel! equ 0 (
        echo [成功] %line% 已移动
    ) else (
        echo [失败] %line% 移动出错
    )
) else (
    echo [缺失] %line% 文件不存在
)
set "line="
goto :eof

:end
echo --------------------------
echo 全部处理完毕
pause

一行一个文件名,不要带路径,只写文件名

示例 00.txt

a.jpg
test.doc
20260921.pdf
我的文件.png
上一条信息:宝塔防火墙列表空白,Debian12安装ufw
下一条信息:视频格式H.265转码批处理文件