我想复制分配(声音)文件,这些都是不同的声音,但大多数文件名都是相同的......文件位于子文件夹中,其中包含随机字符作为名称。
但如何搜索并将所有随机子文件夹中的所有声音文件复制到一个文件夹?但保持两个文件都是双倍的,不要覆盖它们,如:
而不仅仅是:Ambient.wav
对此:环境(1).wav Ambient(2).wav Ambient(3).wav等...
我使用Windows 7 Ultimate
答案 0 :(得分:1)
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
SET "destdir=U:\destdir"
FOR /f "delims=" %%a IN (
'dir /s /b /a-d "%sourcedir%\*" '
) DO (
IF EXIST "%destdir%\%%~nxa" (
SET notfound=Y
FOR /L %%b IN (1,1,999) DO IF DEFINED notfound IF NOT EXIST "%destdir%\%%~na(%%b)%%~xa" (
ECHO(COPY "%%a" "%destdir%\%%~na(%%b)%%~xa"
SET "notfound="
)
IF DEFINED notfound ECHO(Failed to COPY "%%a"
) ELSE (ECHO(COPY "%%a" "%destdir%\%%~nxa"
)
)
GOTO :EOF
为了测试目的,所需的COPY命令仅为ECHO
。 在您确认命令正确后,将ECHO(COPY
更改为COPY
以实际复制文件。
当然,如果您愿意,copy
可能会成为move
。
目标目录不应该是源的子目录。
如果需要,您可以将>nul
添加到copy
以取消copied
消息。
我为所有文件使用了*
的掩码。如果您只想说.jpg
s,请将"%sourcedir%\*"
更改为"%sourcedir%\*.jpg"