我有一个文件夹,其中包含148个文件夹,并且在每个文件夹中都有一个.jpg文件。我需要获取所有这些.jpg并放入一个文件夹
每个文件夹至少有一个.jpg
我也可以在Linux上执行此操作
`#!/bin/bash
for file in `find source -name * .jpg`;
of the mv "$ file" Destination;
done;
但我无法在Windows中播放。只有我可以重现相同结果的find命令:dir /S /B *.jpg
答案 0 :(得分:0)
for /r %f in (*.jpg) do move %f %destination%
注意:这是交互式版本。在命令脚本中,您需要保护%f不受过早变量替换的影响。
for /r %%f in (*.jpg) do move %%f %destination%
答案 1 :(得分:0)
使用PowerShell执行此操作的另一种方法。当您看到文件按预期移动时,请从WhatIf
cmdlet中删除Move-Item
。
Get-ChildItem -Recurse -File -Filter '*.jpg' |
ForEach-Object { Move-Item -Path $_.FullName -Destination 'C:\the\other\dir' -WhatIf }
您可以在cmd.exe shell或.bat脚本中运行它。
powershell -NoLogo -NoProfile -Command ^
"Get-ChildItem -Recurse -File -Filter '*.jpg' |" ^
"ForEach-Object { Move-Item -Path $_.FullName -Destination 'C:\the\other\dir' -WhatIf }"
答案 2 :(得分:0)
最简单的方法是在Windows中使用您要开始搜索所有元素的Windows Explorer
打开根文件夹。然后转到小的输入字段进行搜索,然后输入*.jpg
,结果将显示根文件夹中的所有jpg
和所有子文件夹。然后,您只需将文件复制并粘贴到目标文件夹中即可。