したがって、メインディレクトリ内の複雑なサブディレクトリ内でファイルをソートするための次のコードがあります。
@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」を除外する必要がありますが、方法が見つかりません。タイトルが尋ねるように。選択したサブディレクトリをスキップすることは可能ですか?