Rückgabewert von batch-Skript

Ich bin aufrufenden batch-Skript von vbscript.

In der batch-script, basierend auf der Voraussetzung, dass ich zurückkehren möchten benutzerdefinierte exit-code.

@echo off
setlocal ENABLEDELAYEDEXPANSION`
for /f "usebackq" %%i in (`"%1"\fciv.exe" -md5 %2"`) do set md5_1=%%i  
for /f "usebackq" %%i in (`"%1"\fciv.exe" -md5 %3"`) do set md5_2=%%i

if "!md5_1!" == "!md5_2!" (  
    set md5_1=  
    set md5_2=  
    exit 0  
) else (  
    set md5_1=  
    set md5_2=  
    exit 1  
)
endlocal  

Bin ich immer der Wert 0 für beide Bedingungen.

kann mir keiner helfen?

  • Es funktioniert gut für mich. Poste dein script.
  • off setlocal ENABLEDELAYEDEXPANSION for /f "usebackq" %%i in ("%1"\fciv.exe" -md5 %2") setzen md5_1=%%i for /f "usebackq" %%i in ("%1"\fciv.exe" -md5 %3") setzen md5_2=%%i if "!md5_1!" == "!md5_2!" ( set md5_1= set md5_2= exit 0 ) else ( set md5_1= set md5_2= Abfahrt 1 ) endlocal Der code tatsächlich generiert Prüfsumme von zwei Dateien und gibt 0 zurück, wenn Sie gleich sind, wird 1 zurückgegeben, wenn Sie anders sind
  • Bearbeiten Sie Ihre Frage zum hinzufügen von code in. Auch müssen Sie exit /b <error code>
  • Auch für den false Zustand bin ich immer exit code als 0. Wie man exit-code 1 ?
  • Ich bin nicht in der Lage zu reproduzieren, die Ihre Fehler. Sorry.
  • setzen echo %md5_1% # %md5_2% nach der zweiten for-Schleife und poste die Werte.

InformationsquelleAutor Tjs | 2013-05-24
Schreibe einen Kommentar