Batch/CMD-Fenster minimieren/maximieren?
Hey,
wie kann ich ein Batch/Cmd Fenster erscheinen lassen und wieder verschwinden lassen?
Freue mich schon auf Antworten
LG
3 Antworten
Wenn ich die Frage richtig interpretiere, geht das mittels shellexecute aus einem Skript heraus. Es würde(n) aber nicht ein und das selbe Fenster mal angezeigt und mal ausgeblendet, sondern Teile des skripts in einem versteckten und Teile des Skripts in einem sichtbaren CMD-Fenster abgearbeitet.
Die simpelste Lösung ist die aktuelle Batch neu zu starten, da du mit dem start-Befehl angeben kannst, ob etwas minimiert oder maximiert gestartet werden soll. Durch Sprungmarken kannst du die Ausführung an einer bestimmten Stelle fortsetzen lassen.
Hier mal eine Demonstration:
@echo off
if "%~1"=="min" goto minimized
if "%~1"=="max" goto maximized
:main
echo Dies wird zu Beginn ausgeführt.
timeout /t 3
start "" /MIN %0 min
exit
:minimized
echo Dies wird nach der Minimierung ausgeführt.
timeout /t 3
start "" /MAX %0 max
exit
:maximized
echo Dies wird maximiert ausgeführt.
pause
exit
Wenn das Fenster sich direkt nach dem starten minimieren soll, musst du das echo und timeout zu Beginn weglassen.
Ich hoffe ich konnte dir helfen :)
Für ein Bestehendes Consolenfenster gibt es mit Batch/VBScript/JScript keine Möglichkeit dieses zu verbergen, bzw wieder erscheinen zu lassen.
Mit Powershell/C# mit Verrenkungen über PInvoke. (absolut nichts für Anfänger , ein falscher Aufruf/Parameter und der Rechner wird vielleicht zum Mixer, Toaster oder Aktenvernichter🤣🤣🤣🤣🤣🤣)
Größenänderungen sind in gewissem Rahmen mit MODE CON[:] [COLS=c] [LINES=n] machbar.
mode von cols=10 lines=3
timeout 10
mode von cols=128 lines=50
pause
Ein vertrauenswürdiges Commandlinetool zum Steuern von Fenstern und Objekten ist Cmdow
https://ritchielawrence.github.io/cmdow/
Ich bin zwar kein Fan von Fremdtools für die Console, ...aber für Leute, welche nicht mit Systemcalls hantieren möchten, ist das kleine Consolprogramm perfekt...