You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过批处理从文件路径列表中复制文件?

批处理读取文件路径并复制到U盘的解决方案

方案一:基于已生成的dir.txt文件复制

如果你已经通过原代码生成了D:\Folder\dir.txt,可以用以下代码读取其中的路径并复制到U盘:

@echo off
setlocal enabledelayedexpansion
rem 设置U盘目标文件夹,可手动修改盘符;若脚本在U盘内,替换为%~d0\LoginDataBackup可自动适配盘符
set "target_dir=E:\LoginDataBackup"

rem 确保目标文件夹存在,避免复制失败
if not exist "%target_dir%" mkdir "%target_dir%"

rem 逐行读取dir.txt中的文件路径并执行复制
for /f "delims=" %%i in (D:\Folder\dir.txt) do (
    copy "%%i" "%target_dir%\" /y
    echo 已复制文件: %%i
)

echo 所有文件复制完成!
pause
endlocal

方案二:直接查找并复制(无需中间文件)

更高效的方式是跳过生成dir.txt的步骤,直接查找文件并完成复制:

@echo off
setlocal enabledelayedexpansion
set "target_dir=E:\LoginDataBackup"
if not exist "%target_dir%" mkdir "%target_dir%"

set "file_count=0"
rem 遍历所有Login Data文件并复制,同时计数
for /f "delims=" %%i in ('dir /b /s "C:\Users\MyName\AppData\Local\Microsoft\Edge\Login Data" 2^>nul') do (
    copy "%%i" "%target_dir%\" /y
    set /a file_count+=1
    echo 已复制: %%i
)

echo 共完成 !file_count! 个文件的复制
pause
endlocal

关键说明

  • delims=:保证读取包含空格的完整文件路径,避免路径被截断
  • /y:复制时自动覆盖已存在的文件,无需手动确认
  • %~d0:如果将脚本放在U盘根目录,用这个变量可以自动获取U盘盘符,实现盘符无关的自动复制
  • 由于操作涉及浏览器敏感数据文件,杀毒软件大概率会拦截,需要手动允许或添加信任

内容的提问来源于stack exchange,提问作者user20977725

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 14:05:16