Windows批处理文件:查找目录,如果不存在,则创建,然后将文件移动到该目录

时间:2013-07-27 15:04:37

标签: batch-file

我正在尝试创建批处理文件或其他脚本,以将一个文件夹的内容转移到另一个目录中包含其名称的文件夹。例如:

ShowName.Episode.Title.mkv应该移动到\ movies \ showname。如果\ movies \ showname \不存在,脚本将创建它。

平均每次有10-15个文件需要移动。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:9)

您可以通过以下方式有条件地创建文件夹:

if not exist \movies\showname mkdir \movies\showname

将文件移入其中:

move ShowName.Episode.Title.mkv \movies\showname

要获取有关这些命令的更多信息,请打开命令提示符并键入:

help if

help move

答案 1 :(得分:5)

@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会禁止显示该目录已存在的错误消息。

>nul添加到MOVE行的末尾将取消file moved消息。