如何将特定文件从子文件夹复制到另一个文件夹

如何将特定文件从子文件夹复制到另一个文件夹

我有一个名为 Mods 的文件夹,其中有:

  • root\sound\weapons\ak47\ak47_dist.wav
  • root\sound\weapons\m1\m1_dist.wav
  • root\sound\weapons\m4a1\m4a1_dist.wav

ETC...

在每个ak47、、m1m4a1文件夹中,我都有 5 个.WAV声音文件。

我想*dist.wav从每个以“武器”命名的文件夹中仅复制命名的声音文件,然后使用批处理文件将这些声音粘贴到单个文件夹中。

该批处理文件将从外部的“Mods”文件夹执行root\sound\weapons,该文件夹内的新文件夹名称为“distant sounds” Mods

我怎样才能做到这一点。

答案1

如何将特定文件从子文件夹复制到另一个文件夹

在每个 ak47、m1、m4a1 等文件夹中,我都有 5 种声音。

我不想只复制*dist.wav每个武器文件夹中的声音,然后批量将这些声音粘贴到单个文件夹中。

以下是如何使用批处理脚本或复制粘贴来执行此操作的示例。请仔细阅读所有内容并进行测试,以确认所有内容均按预期工作。

命令提示符复制和粘贴

SET RootDir=C:\Sound\Weapons
SET CopyDir=C:\Path\Mods\Distant Sounds
IF NOT EXIST "%CopyDir%" MD "%CopyDir%"
SET CopyFname=*dist.wav
FOR /D %A IN ("%RootDir%\*") DO FOR %B IN ("%~A\%CopyFname%") DO ECHO F | XCOPY /Y /F "%~B" "%CopyDir%\"
GOTO EOF 

批处理脚本

@ECHO ON
SET RootDir=C:\Sound\Weapons
SET CopyDir=C:\Path\Mods\Distant Sounds
IF NOT EXIST "%CopyDir%" MD "%CopyDir%"
SET CopyFname=*dist.wav
FOR /D %%A IN ("%RootDir%\*") DO FOR %%B IN ("%%~A\%CopyFname%") DO ECHO F | XCOPY /Y /F "%%~B" "%CopyDir%\"
GOTO EOF 

笔记:SET <variablename>=上面的逻辑部分设置了根目录、复制目录、需要复制的文件名。

进一步阅读和资源

相关内容