Ich versuche, eine .Bat-Datei zu erstellen, die nur ausgeführt und die Dinge kopiert, wenn die Datei Startapp.bat beendet wird. Diese startapp-Datei wird erstellt, wenn ein Benutzer Code auf github festschreibt.wenn vorhanden funktioniert nicht in .BAT-Datei
Ich habe das folgende Skript.
taskkill /F /IM Webshop.exe
::%~dp0 means the current folder where this .bat is executed from
SET dest=%~dp0productionEnv
IF EXIST "%~dp0startApp.bat" (
if not exist "%dest%" mkdir "%dest%"
xcopy /Y /s "%~dp0Webshop\bin\Debug" "%dest%"
SET webDest="%dest%/webContent"
if not exist %webDest% mkdir %webDest%
xcopy /Y /s "%~dp0Webshop\webContent\web" %webDest%
copy /Y "%~dp0startApp.bat" "%dest%/startApp.bat"
START "" "%dest%/startApp.bat"
del "%~dp0startApp.bat"
echo "Deleted startApp.bat"
) ELSE (
echo "startApp.bat file not found"
)
Aber es funktioniert nicht. Manchmal werden sowohl die gelöschte Nachricht als auch die Nachricht "Datei nicht gefunden" angezeigt, obwohl dies nicht möglich sein sollte. Es sollte eine dieser Meldungen enthalten, aber nicht beide. Deshalb gibt es ein wenn ich sonst.
Bitte helfen!
Sie eine Variable innerhalb eines Codeblocks Einstellung und Dateipfade verwenden in der Regel einen Backslash in Windows – Compo
Was ist das Ergebnis 'echo"% ~ dp0startApp.bat "'? – Dominique
In welcher Umgebung arbeiten Sie? Pre-XP OS haben eine andere Handhabung von "IF EXIST". – MichaelS