我是Windows批处理脚本的新手,我有一个简单的程序,如果不存在则创建一个文件夹,并将文件从另一个目录移动到文件夹中。
当在命令窗口上执行行时,代码工作正常,但是当我双击.bat文件时,代码不起作用。需要你的帮助。
.bat文件脚本:
@echo off
if not exist "D:\KUMAR_398519667_9262017"
mkdir D:\KUMAR_398519667_9262017
move D:\Siebel\15.0.0.0.0\ses\siebsrvr\TEMP\10488_1540_0_4D44EED2-8EEE-11E7-B1F0-5056B24CF000.docx D:\KUMAR_398519667_9262017
答案 0 :(得分:0)
if的语法是IF [NOT] EXIST filename command
,其中@echo off
if not exist "D:\KUMAR_398519667_9262017" (
mkdir D:\KUMAR_398519667_9262017
move D:\Siebel\15.0.0.0.0\ses\siebsrvr\TEMP\10488_1540_0_4D44EED2-8EEE-11E7-B1F0-5056B24CF000.docx D:\KUMAR_398519667_9262017
)
是一个命令或一组命令。整件事必须在一行
如果你想创建目录并将文件移动到它,如果它不存在则将命令放入一个块
if not exist "D:\KUMAR_398519667_9262017" mkdir D:\KUMAR_398519667_9262017
move D:\Siebel\15.0.0.0.0\ses\siebsrvr\TEMP\10488_1540_0_4D44EED2-8EEE-11E7-B1F0-5056B24CF000.docx D:\KUMAR_398519667_9262017
如果您只想在不存在的情况下创建目录,那么以下内容就足够了
MessageBoxTest here
答案 1 :(得分:0)
解决方案1 :(一般情况)
需要执行的命令应与if
放在同一行(因为您的代码未格式化,我们只能采用格式)
if not exist "D:\KUMAR_398519667_9262017" mkdir D:\KUMAR_398519667_9262017
解决方案2 :(在这种情况下)
mkdir
(或md
)命令将创建一个目录(如果该目录尚不存在),并生成错误消息(如果该目录已存在)。
@echo off
mkdir D:\KUMAR_398519667_9262017 2>nul
move D:\Siebel\15.0.0.0.0\ses\siebsrvr\TEMP\10488_1540_0_4D44EED2-8EEE-11E7-B1F0-5056B24CF000.docx D:\KUMAR_398519667_9262017
2>nul
会抑制错误消息。
一般来说,“引用文件名的完整路径”是个好主意 - 以防它们包含空格 - 如果目标是目录,则终止move
的目的地\
并将目的地名称也包含在“引号”中。注意“好主意” - 不是“绝对必要”。