Batch datei per Batch datei ansteuern

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Mit dem start Befehl wird die zweite Batchdatei in einem neuen Fenster geöffnet und das erste Programm hat dann keinen Zugriff mehr darauf beziehungsweise kann es nicht mehr steuern (Mit Ausnahme von erzeugbaren Dateien). Wenn sich kein neues Fenster öffnen soll und das zweite Programm quasi im ersten Programm laufen soll, muss der Befehl call verwendet werden. Dies kann folgendermaßen aussehen:

call "Ort/Batchdatei2.bat"

Da sich in diesem Fall beide Dateien auf dem gleichen Pfad befinden (Desktop) reicht auch folgendes aus:

call Batchdatei2.bat

wie kann ich jetzt 3 Batchdateien mit einer starten. 2 schaffe ich schon per call aber ich würde auch gerne die windows cmd batchdatei callen :D

Hier der Code: @echo off

:abfrage

cls

echo Welches Protokoll soll ich starten ???

echo.

echo [1] Desktopprotokoll

echo [2] Internetprotokoll

echo [3] Kommandoboxprotokoll

echo [E] Exit

echo.

set asw=0

set /p asw="Bitte Protokollziffer eingeben: "

if %asw%==1 goto 1

if %asw%==2 goto 2

if %asw%==3 goto 3

if %asw%==e goto e

:1

call Desktopprotokoll

goto abfrage

:2

call Internetprotokoll

goto abfrage

:3

call Kommandoboxprotokoll

goto abfrage

:e

exit

0

sorry habs schon...

0

Statt:
start "%Protokoll 1 - Virtuellen Desktop anzeigen.bat%"

Einfach:
start "" "%Protokoll 1 - Virtuellen Desktop anzeigen.bat%"

Nutzen dann Klappt es auch

Du solltest auch errorlevel 3 abfragen, das fängt dann 3 bis 254 und wäre ein Fall für:

echo Fehlermeldung
pause

Wozu die Prozentzeichen, sind das Variablen, die du vorher irgendwo gesetzt hast, z.B. mit komplettem Pfad? Falls ja, solltest du Variablennamen ohne Leerzeichen verwenden.

Der Befehl "start" startet die Batchdatei in einem neuen Fenster. Wenn du das nicht willst, kannst du die Batchdateien mit call Batchdateiname.bat aufrufen. Fehlt das call, beendet sich deine Menü-Batchdatei beim Aufruf der anderen.

Der Desktop sollte übrigens nur Verknüpfungen zu anderswo liegenden Dateien enthalten, damit man sich nicht darauf festlegt, dass dort irgendwelche Dateien liegen müssen weil sonst der halbe Rechner nicht mehr wie gewohnt funktioniert. Dann hat man die Freiheit, ihn auch mal aufzuräumen. Günstiger wäre deshalb ein extra Ordner für Batchdateien, z.B. unterhalb des User-Ordners.

0

Ich habe alles aus einer Batchdatei womit man Internetseiten aufrufen kann: du musst nur z.B. googl.de eingeben. Also bitte Deutsch sprechen :D

0

Batch Leerzeichen in einer Variable durch . ersetzen?

Hallo liebe Community,

Ich habe mal wieder ein Batch Problem.

mein script

set /p top=?

find /i ":%top%" %userprofile%\Desktop\die .bat datei>NUL

if errorlevel 1 goto fragen

goto %top%

:fragen

echo :%top%>>%userprofile%\Desktop\die .bat datei

Das Programm soll wenn der Bezugspunkt existiert zu ihm gehen,wenn er nicht existiert ihn erstellen.

wenn %top% "hallo welt" ist, wird im script ":hallo welt" eingefügt.

Wenn %top% "hallo du" ist, wirt ":hallo du" eingefügt.

Nun ist das Problem das aufrufen.

So dass wenn %top% "hallo du" ist steht da goto hallo du.

Batch realiesiert aber nur goto hallo und geht zu :hallo welt

Nun ist meine Frage ob es eine Möglichkeit gibt,alle Leerzeichen aus %top% durch punkte zu ersetzen oder zu entfernen.

Danke im Vorraus

...zur Frage

WMIC - Erklärung mit eigenen Worten?

Ich bitte um eine möglichst verständliche Erklärung von der WMIC Funktion in Windows, bzw. dem Batch-Befehl WMIC. Ich habe schon so einiges gegoogelt, aber die Erklärungen, die ich gefunden habe ließen den Knoten noch nicht so recht platzen, es will mir einfach nicht so ganz einleuchten. Mir ist soweit verständlich, dass es sich um ein Commandlinetool handelt, und es auch einen WMIC-Befehl mit weiteren Parametern gibt für Batch-Scripting. Kann es mir jemand, der ein Verständnis davon hat, mir WIMIC mit eigenen Worten nochmal gebündelt und verständlich erklären? Wozu kann ich es beispielsweise in Batch konkret verwenden? Das wäre sehr nett, wenn ihr meinem Verständnis auf die Sprünge helft, die beste Antwort zeichne ich aus.

...zur Frage

Batch Datei schließt sich durch Leerzeichen?

@echo off

color a

:start

echo Was ist das Objekt?

set /p objekt=

if '%objekt%' == 'cool' goto coolness

:coolness

Echo Das Objekt ist cool!

goto start

---------------------------------------------

Wenn ich bei der Batch Datei ein Leerzeichen eingebe beendet sie sich..

Selbst wenn ich den Code:

if '%objekt%' neq '' goto start oder

if '%objekt%' == ' ' goto start einfüge klappt es nicht

Da erscheint kann syntaktisch an dieser Stelle nicht verarbeitet werden und die Datei schließt sich.

...zur Frage

Batch - Ausgabe von 29 Random Zahlen (KEINE GLEICHEN)

Hi :)

Ich bin gerade dabei eine Batch zu machen die 29 unterschiedliche zufällige Zahlen in ein Textdokument ausgeben soll.

Also habe ich etwas wie das gemacht:

set /a Begrenzung=0
:start1
set /a Begrenzung=%Begrenzung%+1
IF %Begrenzung% == 30 GOTO finish

:start2
set /a Zahl=%random% %%29
FINDSTR /C:%Zahl% Zahlen.txt
IF ERRORLEVEL 0 GOTO start2 
IF ERRORLEVEL 1 echo %Zahl% >> Zahlen.txt & GOTO start1

:finish
echo Vorgang abgeschlossen! 
pause >nul

Aber es schreibt nur maximal 21 Zahlen in die Datei und ab da nicht weiter...

Gibt es eine Möglichkeit so etwas anders zu machen?

...zur Frage

Batch Programm funktioniert nicht #1?

Wenn ich die Batch-Datei öffne, dann öffnet sich die Konsole für 0,1s und schließt sich dann wieder. Mein Programm sollte so einheitlich aussehen, dass ich es nicht beschreiben muss. Der Name des Programms lautet Mathe_Virus.bat

Hier ist das Programm: https://pastebin.com/KMj20BEU

...zur Frage

wie kann ich diese batch datei besser bzw anderes schreiben?

@echo off

color 02 

title jump

:start

cls

echo niemals S druecken 

echo.

echo _________________________________________________

echo.

echo.

echo.

echo.

echo ________0________________________________________

echo.

choice /c:wds /m "druecke W um zu springen und D um nachforne zu gehen:"

if %errorlevel%==1 goto jump

if %errorlevel%==2 goto forward

if %errorlevel%==3 goto gameover

pause

:forward

cls

echo.

echo.

echo _________________________________________________

echo.

echo.

echo.

echo.

echo _________0_______________________________________

echo.

choice /c:wa /m "druecke W um zu springen und A um nachforne zu gehen:"

if %errorlevel%==1 goto jumpp

if %errorlevel%==2 goto start 

:jump

cls

echo.

echo.

echo _________________________________________________

echo.

echo.

echo.

echo     0

echo _________________________________________________

echo.

goto time 

:time

ping localhost >nul

goto start 

:jumpp

cls

echo.

echo.

echo _________________________________________________

echo.

echo.

echo.

echo     0

echo _________________________________________________

echo.

ping localhost >nul

goto forward

:gameover

cls

echo.

echo.

echo _________________________________________________

echo.

echo.

echo.

echo.

echo ________0________________________________________

echo.

ping localhost >nul

cls

echo niemals S druecken 

echo.

echo _________________________________________________

echo.

echo.

echo.

echo     0 

echo ________ ________________________________________

echo.

ping localhost >nul

cls

echo niemals S druecken 

echo.

echo _________________________________________________

echo.

echo.

echo.

echo.      

echo ________0________________________________________

echo.

ping localhost >nul

cls

echo niemals S druecken 

echo.

echo _________________________________________________

echo.

echo.

echo.

echo      

echo ________ ________________________________________

echo.

ping localhost >nul 

cls

echo.

echo.

echo.

echo   ~GAMEOVER!~

ping localhost >nul

ping localhost >nul 

goto entscheidung

:entscheidung

echo willst du neu starten

choice /c:yn /m "y=ja n=nein:"

if %errorlevel%==1 goto start 

if %errorlevel%==2 exit 

danke für hilfreiche antworten :)

...zur Frage

Was möchtest Du wissen?