2017-09-20 4 views
1

J'ai un script qui enregistre 2 fichiers dans un dossier de sauvegarde. Je veux obtenir une boîte de message si la commande de copie a réussi ou non.ne peut pas continuer le script à partir du fichier .bat après la fermeture 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 

Cela fonctionne jusqu'à ce que j'obtienne la boîte de message de test1. Mais quand je clique sur soumettre le test2 ne démarre pas. Quel est le problème ici?

Répondre

2

Dans cette ligne, vous omettez un espace if %ERRORLEVEL% == 0( devrait être if %ERRORLEVEL% == 0 ( et dans cette ligne trop )else ( devrait être ) else (

Essayez comme ceci:

@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

Il copie les deux, mais n'affiche pas le msgbox! – nolags

+1

@nolags s'il vous plaît vérifier à nouveau je modifie ma réponse, et je le tester le MsgBox montre pour moi! – Hackoo

+0

il imprime un problème de compatibilité dans vbscript .. il attend une commande terminée pour le test2.vbs – nolags

0

Le problème était qu'il ne pouvait pas » t trouve le fichier tes2.vbs. ajouté% tmp% \ en tant que chemin de répertoire pour les fichiers vbs! Maintenant ça marche.