我是新的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
发布于 2017-10-08 23:17:27
if的语法是IF [NOT] EXIST filename command
,其中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
发布于 2017-10-08 23:22:27
解决方案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
将取消错误消息。
一般来说,最好是“引用文件名的完整路径”--如果它们包含空格--如果目标是目录,则用\
终止目标(并将目标名称括在“引号”中)。注意“好主意”-不是“绝对需要”。
https://stackoverflow.com/questions/46640482
复制