hahi-x
Goto Top

Mit Batch Datei eine Batch Datei schreiben

Ich hab ein Problem mit meiner Batch Datei

Hallo,
Ich bin im Moment dabei eine Batch Datei zu schreiben.
Nun bin ich bei einem Problem angekommen, wobei mir googlen und Foren durchforsten nicht weiter geholfen hat.

Also ich habe eine Batch datei geschrieben, die automatisch eine weitere Batch Datei schreibt und woanders hin kopiert.
Sie sieht wie folgt aus: (Texte hab ich rausgelassen. ist unwichtig)


@echo off

echo @echo off > trust.bat
echo echo bla bla bla. >> trust.bat
echo pause >> trust.bat
echo echo bla bla bla. >> trust.bat
echo pause >> trust.bat
echo echo bla bla bla. >> trust.bat
echo pause >> trust.bat
echo echo bla bla bla. >> trust.bat
echo pause >> trust.bat
echo echo bla bla bla. >> trust.bat
echo pause >> trust.bat
echo echo bla bla bla. >> trust.bat
echo pause >> trust.bat
echo echo bla bla bla. >> trust.bat
echo pause >> trust.bat

echo set /p antwort=bla bla bla. ja oder nein? >> trust.bat
echo if "%antwort%"=="ja" goto B >> trust.bat
echo if not "%antwort%"=="ja" goto A >> trust.bat

echo :B >> trust.bat
echo echo bla bla bla. >> trust.bat
echo echo bla bla bla. >> trust.bat
echo pause >> trust.bat
echo goto t >> trust.bat

echo :A >> trust.bat
echo echo bla bla bla. >> trust.bat
echo echo bla bla bla. >> trust.bat
echo pause >> trust.bat
echo C:\WINDOWS\system32\shutdown.exe -s -t 60 >> trust.bat

echo :t >> trust.bat

chcp 1252
xcopy "trust.bat" "C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart"

Soweit ist ja auch alles in Ordnung.
Wenn ich die Datei ausführe erzeugt er auch die Datei.
Die sieht dann so aus:

@echo off
echo bla bla bla.
pause
echo bla bla bla.
pause
echo bla bla bla.
pause
echo bla bla bla.
pause
echo bla bla bla.
pause
echo bla bla bla.
pause
echo bla bla bla.
pause
set /p antwort=bla bla bla. ja oder nein?
if ""=="ja" goto B
if not ""=="ja" goto A
:B
echo bla bla bla.
echo bla bla bla.
pause
goto t
:A
echo bla bla bla.
echo bla bla bla.
pause
C:\WINDOWS\system32\shutdown.exe -s -t 60
:t
Der Fehler steckt in dieser Passage:

set /p antwort=bla bla bla. ja oder nein?
if ""=="ja" goto B
if not ""=="ja" goto A

sie soll nämlich eigentlich so aussehen:

set /p antwort=bla bla bla. ja oder nein?
if "%antwort%"=="ja" goto B
if not "%antwort%"=="ja" goto A


MEINE FRAGE:
Wo ist das "antwort" hin?

Content-Key: 100660

Url: https://administrator.de/contentid/100660

Printed on: April 24, 2024 at 22:04 o'clock

Member: bastla
bastla Oct 30, 2008 at 17:56:03 (UTC)
Goto Top
Hallo hahi-x und willkommen im Forum!

Wo ist das "antwort" hin?
Ganz einfach - es wurde, wie es sich für eine ordentliche Variable gehört, durch den aktuellen Wert (nämlich nix face-wink) ersetzt.

Das wird nicht passieren, wenn Du
echo if "%%antwort%%"=="ja" goto B >> trust.bat
schreibst (wobei ich, ganz nebenbei, dem "if" noch ein "/i" spendieren würde).

Grüße
bastla

P.S.: Falls Du öfters Batches oder Ähnliches posten wirst, solltest Du Dir Formatierungsmöglichkeit ansehen ...
Member: hahi-x
hahi-x Oct 30, 2008 at 18:02:07 (UTC)
Goto Top
Wow, das ging ja schnell.

Hat auch geklappt.

Vielen dank.

und das nächste mal werd ich es formatieren.

Mfg
Hahi-X