【问题标题】:search and move all files in directory but keep both files in batch搜索并移动目录中的所有文件,但将两个文件批量保存
【发布时间】:2014-08-07 22:47:34
【问题描述】:

我想复制分配的(声音)文件,这些都是不同的声音,但大多数文件名都是相同的......并且文件位于以随机字符作为名称的子文件夹中。

但是如何搜索所有随机子文件夹中的所有声音文件并将其复制到一个文件夹中?但保留两个双文件,不要覆盖它们,例如:

而不仅仅是:Ambient.wav

对此:Ambient(1).wav Ambient(2).wav Ambient(3).wav 等...

我使用的是 Windows 7 Ultimate

【问题讨论】:

标签: windows file batch-file copy


【解决方案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 命令仅用于测试目的ECHOed。 验证命令正确后,将ECHO(COPY更改为COPY以实际复制文件。

当然,如果您愿意,copy 可以变为 move

目标目录不应是源目录的子目录。

如果需要,您可以将 >nul 添加到 copy 以隐藏 copied 消息。

我对所有文件都使用了* 掩码。如果你只想说.jpgs,那就把"%sourcedir%\*"改成"%sourcedir%\*.jpg"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多