繁体   English   中英

多个文件批量保存到一个文件夹

[英]Multiple files to one folder in batch

我正在寻找一个简单的批处理过程,以将同一目录的3个不同子目录中的日志文件复制到其他位置的另一个文件夹中。

目前,我的代码是:

for /r c:\users\...\Unzipped %%g in (*.log) do move /-y "c:\users\...\Unzipped\" "c:\users\...\Log_Files"

我继续收到10条回答,说我的代码语法正确,这意味着,根据我的理解,至少第一部分是正确的。

问题出在移动命令的原点。 从本质上说“来自3个不同的子文件夹”怎么可能?

您的原始命令

for /r "c:\root\folder" %%g in (*.log) do move /-y "%%~fg" "c:\target\folder"

也就是说,对于每个日志文件,在指定的起始文件夹下递归地将文件( %%~fg%%g所引用文件的完整路径)移动到目标文件夹

如果要直接指示必须从中获取文件的三个源文件夹,则

for %%g in ("c:\root\f1\*.log" "c:\root\f2\*.log" "d:\somewhere\*.log"
) do move /-y "%%~fg" "c:\target\folder"

但是在这种情况下,您不能在for命令中包含/r开关以进行递归搜索。

这将扫描所有子文件夹并搜索* .log

for /f %%f in ('dir /s/b c:\users...\Unzipped\*.log') do move /-y %%f "c:\users...\Unzipped\Logfiles"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM