我有一个名为 Mods 的文件夹,其中有:
root\sound\weapons\ak47\ak47_dist.wav
root\sound\weapons\m1\m1_dist.wav
root\sound\weapons\m4a1\m4a1_dist.wav
ETC...
在每个ak47
、、m1
等m4a1
文件夹中,我都有 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>=
上面的逻辑部分设置了根目录、复制目录、需要复制的文件名。