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

如何在Windows CMD中按文件列表递归复制指定文件?

解决CMD递归搜索子目录复制指定文件的问题

你可以通过嵌套for命令实现递归搜索子目录并复制文件,具体修改如下:

直接在CMD窗口执行的命令

for /f "delims=" %I in (t.txt) do for /r "C:\ProgramFiles" %J in ("%I") do copy "%J" . /y

编写成批处理脚本(.bat文件)的版本

如果要保存为脚本重复使用,需要把变量前的%改成%%:

@echo off
for /f "delims=" %%I in (t.txt) do (
    for /r "C:\ProgramFiles" %%J in ("%%I") do (
        copy "%%J" . /y
    )
)

命令说明

  • for /f "delims=" %I in (t.txt):完整读取t.txt中的每一行文件名,delims=保证文件名包含空格时不会被拆分
  • for /r "C:\ProgramFiles" %J in ("%I"):递归遍历C:\ProgramFiles及其所有子目录,找到所有匹配当前文件名的文件,并将文件的完整路径赋值给%J
  • copy "%J" . /y:将找到的文件复制到当前目录,/y参数用于自动覆盖已存在的同名文件

如果同一个文件名在多个子目录中存在,所有匹配的文件都会被复制到目标目录,后续复制的文件会覆盖之前的同名文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:52:48