通过cmd将所有.jpg从子文件夹复制到单个文件夹

时间:2018-03-30 01:51:48

标签: cmd

我有一个文件夹,其中包含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

3 个答案:

答案 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和所有子文件夹。然后,您只需将文件复制并粘贴到目标文件夹中即可。