Batch file 使用批处理文件将不同文件夹中的.txt文件移动到单个文件夹中
我正在尝试使用批处理文件将不同文件夹中的所有.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
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不是一种自由格式的语言。有时需要这样做。