File 将多个文件批处理到一个文件夹
我想做一个简单的批处理过程,将同一目录的3个不同子目录中的日志文件复制到其他文件夹 我的代码是:File 将多个文件批处理到一个文件夹,file,batch-file,syntax,directory,move,File,Batch File,Syntax,Directory,Move,我想做一个简单的批处理过程,将同一目录的3个不同子目录中的日志文件复制到其他文件夹 我的代码是: for /r c:\users\...\Unzipped %%g in (*.log) do move /-y "c:\users\...\Unzipped\" "c:\users\...\Log_Files" 我继续收到10条回复,说我的代码语法是正确的,这意味着根据我的理解,至少第一部分是正确的 问题在于move命令的原点部分。从本质上讲,怎么可能说“来自3个不同的子文件夹”这会扫描所有子文件
for /r c:\users\...\Unzipped %%g in (*.log) do move /-y "c:\users\...\Unzipped\" "c:\users\...\Log_Files"
我继续收到10条回复,说我的代码语法是正确的,这意味着根据我的理解,至少第一部分是正确的
问题在于move命令的原点部分。从本质上讲,怎么可能说“来自3个不同的子文件夹”这会扫描所有子文件夹并搜索*.log
for /f %%f in ('dir /s/b c:\users...\Unzipped\*.log') do move /-y %%f "c:\users...\Unzipped\Logfiles"
你原来的命令
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
开关