2017-09-20 50 views
1

我有一个脚本将2个文件保存在备份文件夹中。如果复制命令成功,我想获得一个消息框。关闭后无法从.bat文件继续执行脚本msgbox

@echo off 
Echo msgbox"Saving test1 to \backup directory." + vbNewLine + "Successfull!",0,"Backup file..">test1.vbs 
Echo msgbox"Saving test2 to \backup directory." + vbNewLine + "Successfull!",0,"Backup file..">test2.vbs 

copy test1.txt backup\test1.txt 
if %ERRORLEVEL% == 0 (
    start test1.vbs 
    goto test2 
)else (
    echo ## Errorausgabe: %ERRORLEVEL% 
    echo. 
) 

:test2 
copy test2.txt backup\test2.txt 
if %ERRORLEVEL% == 0(
    start test2.vbs 
    goto commonexit 
)else(
echo ## Errorausgabe: %ERRORLEVEL% 
) 

:commonexit 
pause 

它的工作,直到我从test1消息框。但是当我点击提交时,test2不会启动。这里有什么问题?

回答

2

在这一行你省略了一个空间if %ERRORLEVEL% == 0(if %ERRORLEVEL% == 0 (并在这一行太)else (应该) else (

尝试这样的:

@echo off 
Echo msgbox"Saving test1 to \backup directory." + vbNewLine + "Successfull!",0,"Backup file..">test1.vbs 
Echo msgbox"Saving test2 to \backup directory." + vbNewLine + "Successfull!",0,"Backup file..">test2.vbs 

copy test1.txt backup\test1.txt 
if "%ERRORLEVEL%" EQU "0" (
    start test1.vbs 
    goto test2 
) else (
    echo ## Errorausgabe: %ERRORLEVEL% 
    echo. 
) 

:test2 
copy test2.txt backup\test2.txt 
if "%ERRORLEVEL%" EQU "0" (
    start test2.vbs 
    goto commonexit 
) else (
echo ## Errorausgabe: %ERRORLEVEL% 
) 

:commonexit 
pause 

https://ss64.com/nt/if.html

+0

它复制两个,但不显示msgbox! – nolags

+1

@nolags请再次检查我编辑我的答案,我测试它的MsgBox显示为我! – Hackoo

+0

它在vbscript中打印兼容性问题..他正在等待命令完成test2.vbs – nolags

0

的问题是,他couldn”找到tes2.vbs文件。添加%tmp%\作为vbs文件的目录路径!现在它可以工作。