Batch file Windows批处理文件:使用循环回显目录中的所有文件
我有一个ABC程序,它当前接收一个文件,并将n个文件转储到一个文件夹中,该文件夹的名称与文件名相同,但没有扩展名 创建的文件数量是任意的。我想把所有这些输出文件移到另一个目录。这意味着当我将10个文件传递给ABC程序时,我将把输出全部放在一个目录中,而不是10个单独的目录中 我将使用嵌套的for循环来实现这一点。外部循环将发送程序ABC处理的每个参数,内部循环将每个和所有结果文件移动到我自己选择的文件夹中 我已经完成了外循环部分,但不确定如何检索文件夹中的文件列表 我首先试着回应他们 for /D %%Y in (dir %%~nX) do echo %%Y ) 对于(dir%%~nX)do中的/D%%Y 回声%%Y ) 其中%%~nX是程序ABC中新创建的文件夹的名称,但它所做的只是回显“dir”和文件夹的名称,而不是在尝试循环之前求值(dir%%~nX) 此外,dir将包括父dir和当前dir,如果我让它工作的话,我不希望这样。我如何摆脱它们,是否可以在循环之前评估命令?尝试此链接- 而不是使用副本 编辑:给你Batch file Windows批处理文件:使用循环回显目录中的所有文件,batch-file,windows-vista,Batch File,Windows Vista,我有一个ABC程序,它当前接收一个文件,并将n个文件转储到一个文件夹中,该文件夹的名称与文件名相同,但没有扩展名 创建的文件数量是任意的。我想把所有这些输出文件移到另一个目录。这意味着当我将10个文件传递给ABC程序时,我将把输出全部放在一个目录中,而不是10个单独的目录中 我将使用嵌套的for循环来实现这一点。外部循环将发送程序ABC处理的每个参数,内部循环将每个和所有结果文件移动到我自己选择的文件夹中 我已经完成了外循环部分,但不确定如何检索文件夹中的文件列表 我首先试着回应他们 for /
FOR /R <source-directory> %F IN (*.xml) DO COPY "%F" <destination-directory>
(*.xml)中/R%F的是否复制“%F”
这将递归地将所有*.xml文件从源目录复制到目标目录,并平展目录结构。如果查看运行/?时获得的帮助,您将看到您想要:
for /D %%Y in (%%~nX\*) do
或
我使用echo来验证我要查找的文件是否正确。但是,是的,我应该使用/R或/F来代替'dir/b%%~nX'语法,这正是我想要的。谢谢。
for /F %%Y in ('dir /b %%~nX') do