我正在尝试创建一个批处理文件或其他脚本,将一个文件夹中的内容移动到另一个目录中以其名称命名的文件夹。例如:ShowName.Episode.Title.mkv 应该被移动到 \movies\showname 中。如果 \movies\showname\ 不存在,脚本将创建它。通常一次需要移动10-15个文件。有什么建议吗?谢谢!
您可以使用以下方式有条件地创建文件夹:
if not exist \movies\showname mkdir \movies\showname
将文件移动到其中:move ShowName.Episode.Title.mkv \movies\showname
要获取有关这些命令的更多信息,请打开命令提示符并键入:
help if
和
help move
@ECHO OFF
SETLOCAL
SET "sourcedir=c:\sourcedir"
SET "destdir=c:\destdir"
FOR /f "tokens=1-4delims=." %%a IN (
'dir /b /a-d "%sourcedir%\*.*.*.mkv" '
) DO (
MD "%destdir%\%%a" 2>NUL
MOVE "%sourcedir%\%%a.%%b.%%c.%%d" "%destdir%\%%a\"
)
GOTO :EOF
这应该可以移动您的文件。当然,您需要更改目录名称 - 我不知道您的源目录在哪里,但在您的情况下,目标目录变为 \movies
。
或许先尝试使用 ECHO MOVE
,以确保移动操作是符合要求的。
2>nul
在 MD
上会阻止出现指示目录已存在的错误消息。
在 MOVE
行末添加 >nul
将阻止出现“文件已移动”消息。