我正在尝试创建一个批处理文件或其他脚本,以将一个文件夹的内容带到另一个目录中包含其名称的文件夹中.例如:
应将ShowName.Episode.Title.mkv移至\ movies\showname.如果\ movies\showname \不存在,脚本将创建它.
平均而言,一次需要移动10-15个文件.
有任何想法吗?
谢谢
您可以有条件地创建文件夹:
if not exist \movies\showname mkdir \movies\showname
Run Code Online (Sandbox Code Playgroud)
要将文件移入其中:
move ShowName.Episode.Title.mkv \movies\showname
Run Code Online (Sandbox Code Playgroud)
要获取有关这些命令的更多信息,请打开命令提示符并键入:
help if
Run Code Online (Sandbox Code Playgroud)
和
help move
Run Code Online (Sandbox Code Playgroud)
@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
Run Code Online (Sandbox Code Playgroud)
这应该做你的举动.当然,您必须更改目录名称 - 不知道源目录在哪里,但目标就\movies在您的情况下.
可能是ECHO MOVE首先尝试的想法,只是为了确保移动是必需的.
在2>nul上MD抑制错误信息,说该目录已经存在.
添加>nul到MOVE行尾将抑制file moved消息.