Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 使用批处理文件将不同文件夹中的.txt文件移动到单个文件夹中_Batch File_For Loop_Cmd_Move - Fatal编程技术网

Batch file 使用批处理文件将不同文件夹中的.txt文件移动到单个文件夹中

Batch file 使用批处理文件将不同文件夹中的.txt文件移动到单个文件夹中,batch-file,for-loop,cmd,move,Batch File,For Loop,Cmd,Move,我正在尝试使用批处理文件将不同文件夹中的所有.txt文件移动到单个文件夹中,因为我不熟悉批处理编码,所以遇到了一些困难 我的代码如下: FOR /D /r %%G IN ("C:\Users\Rodrigo\Desktop\PR\2016\08.2016\") DO MOVE G\*.txt C:\Users\Rodrigo\Desktop\PR\2016\ 有关 @Echo off For /r "C:\Users\Rodrigo\Desktop\PR\2016\08.2016\" %%G

我正在尝试使用批处理文件将不同文件夹中的所有.txt文件移动到单个文件夹中,因为我不熟悉批处理编码,所以遇到了一些困难

我的代码如下:

FOR /D /r %%G IN ("C:\Users\Rodrigo\Desktop\PR\2016\08.2016\") DO MOVE  G\*.txt C:\Users\Rodrigo\Desktop\PR\2016\
有关

@Echo off
For /r "C:\Users\Rodrigo\Desktop\PR\2016\08.2016\" %%G IN (*.txt
    ) Do echo Move "%%G" "C:\Users\Rodrigo\Desktop\PR\2016\"
Pause

如果输出到屏幕看起来正常,请删除move命令前面的回音。

您可以在PowerShell中完成这一切。如果不传递包含文件路径的$\ FullName,我不确定它是否有效

Get-ChildItem -Path  "C:\Users\Rodrigo\Desktop\PR\2016\08.2016\" -Filter *.txt | `
    ForEach-Object { $_.FullName } | `
    Move-Item -Destination "C:\Users\Rodrigo\Desktop\PR\2016\"

你可能是对的,我的答案不是递归的。至于“G*.txt”,这就是他在问题中的内容,这也是我使用它的原因。@RatherNotsay Well我想这是他试图获得“%%G”的输出的结果。是的,现在有人用正确的代码格式编辑了问题,这一点更加明显。:)在管道或逗号powershell继续下一行后,无需转义换行符。是的,我知道,如果行末尾有竖线,则不需要换行符。我试图明确表示PowerShell不是一种自由格式的语言。有时需要这样做。