问题正如标题所说。在使用批处理移动选择的文件时,我做了一个有缺陷的举动......现在为时已晚,因为我不小心关闭了它,但为了将来参考,我想要这些知识。代码如下:
@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 (
ECHO %%i
MOVE "%%i" "%destdir%\%artist%\%%~nxi" >nul)
)
GOTO again
该代码的目的是获取输入,在目录“Uda 18”中查找名称中包含输入的所有文件,并将它们移动到目录“Uda 18/Sets”下以输入命名的文件夹。我不假思索地输入“_n.jpg”来移动所有这些文件,它执行了操作。但后来我意识到我什至从“Uda 18/Sets”中移动了一些东西,并且有效地解构了我以前手工组织的文件。我现在意识到我需要从搜索中排除所述目录,但这不是这个问题的重点。