根据文件夹或文件的第一个字符将文件夹和文件复制到新位置

时间:2017-09-11 22:25:01

标签: batch-file batch-processing

我希望根据名称的第一个字母将文件夹和文件复制到新位置,并在复制到新位置时保留其原始文件夹结构。 (增量值)

示例:

任何以A-M或0-9开头的文件夹或文件复制到N:\ movies

以N-Z开头的任何文件夹或文件都复制到M:\ movies

我在这里找到了类似的脚本:Batch: Move files to folder for first letter of the name?

当前代码:

@ECHO OFF 
SETLOCAL ENABLEDELAYEDEXPANSION 
SET "sourcedir=N:\" 
SET "destdir=M:\" 
PUSHD "%sourcedir%" 
FOR %%a IN (*) DO ( 
 IF /i "%%a" geq "a" IF /i "%%a" lss "h" COPY "%sourcedir%\%%a" "%destdir%\" 
 IF /i "%%a" geq "h" IF /i "%%a" lss "u" COPY "%sourcedir%\%%a" "%destdir%\H-T\"
 IF /i "%%a" geq "u" (
  IF /i "%%a" lss "z" COPY "%sourcedir%\%%a" "%destdir%\U-Z\" 
  ) ELSE (
   SET "name=%%a" 
   IF /i "!name:~0,1!"=="Z" COPY "%sourcedir%\%%a" "%destdir%\U-Z\" 
  ) 
 )
) 
popd 
GOTO :EOF 

0 个答案:

没有答案