所以我有这段代码用于在主目录的复杂子目录中对文件进行排序:
@ECHO OFF
SETLOCAL
SET relroot=g:\Pictures\Uda 18
(SET relroot=g:\Pictures\Uda 18)
SET "relroot=g:\Pictures\Uda 18"
SET "destdir=g:\Pictures\Uda 18\Sets"
:again
(SET artist=)
SET /p artist="Artist? "
IF NOT DEFINED artist GOTO :eof
MD "%destdir%\%artist%" 2>nul
FOR /f "delims=" %%i IN (
' dir /s /b /a-d "%relroot%\*%artist%*" '
) DO (
>>undo.txt ECHO %%i^|%destdir%\%artist%\%%~nxi
MOVE "%%i" "%destdir%\%artist%\%%~nxi" >nul)
)
GOTO again
它接受输入,搜索目录“Uda 18”及其中的所有内容,并将名称中包含输入的所有文件移动到目录“Uda 18/Sets”下以输入命名的文件夹中。但是,粗心的测试导致我从“Uda 18/Sets”中提取文件,这些文件的名称意味着它们无法使用批处理重新组织。为避免这种情况,我需要从获取文件的位置排除“Uda 18/Sets”,但我找不到方法。正如标题所要求的那样;是否可以跳过选择子目录,如果可以,如何?