我正在尝试创建批处理文件或其他脚本,以将一个文件夹的内容转移到另一个目录中包含其名称的文件夹。例如:
ShowName.Episode.Title.mkv应该移动到\ movies \ showname。如果\ movies \ showname \不存在,脚本将创建它。
平均每次有10-15个文件需要移动。
有什么想法吗?
由于
答案 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
消息。