我希望根据名称的第一个字母将文件夹和文件复制到新位置,并在复制到新位置时保留其原始文件夹结构。 (增量值)
示例:
任何以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