【发布时间】:2016-06-15 14:43:46
【问题描述】:
我正在尝试创建一个 Windows 批处理以遍历多个文件夹并将 *.txt 从每个文件夹复制到单个目标文件夹。这是我开始的地方:
set inbox=C:\Test\inbox
for %%i in (C:\Test\Archive\ C:\Test\temp\) do (xcopy %%i\*.txt %inbox%\)
【问题讨论】:
标签: loops batch-file cmd
我正在尝试创建一个 Windows 批处理以遍历多个文件夹并将 *.txt 从每个文件夹复制到单个目标文件夹。这是我开始的地方:
set inbox=C:\Test\inbox
for %%i in (C:\Test\Archive\ C:\Test\temp\) do (xcopy %%i\*.txt %inbox%\)
【问题讨论】:
标签: loops batch-file cmd
试试这样的代码:
@echo off
set source="C:\Test\Archive" "C:\Test\temp"
set Target=C:\Test\inbox
for %%i in (%source%) do (xcopy "%%~i\*.txt" "%Target%" /Y /I /D)
pause
【讨论】:
检查这个解决方案:
How to do something to each file in a directory with a batch script
基本上,看起来第一个括号部分应该是
('dir /b C:\Test\Archive\ C:\Test\temp')
我不确定这如何与两个目录一起工作 - 我认为它应该可以工作,但可能需要进行两次运行并合并结果。
【讨论】: