Connect with us

Wie man

Kann ich eine Windows-Batchdatei ohne sichtbare Eingabeaufforderung ausführen?

Kann ich eine Windows-Batchdatei ohne sichtbare Eingabeaufforderung ausführen?

Batch-Dateien sind eine praktische Möglichkeit, eine Reihe von Befehlen in Windows auszuführen, aber gibt es sie trotzdem unsichtbar im Hintergrund? Lesen Sie weiter, um herauszufinden, wie.

Die Frage

SuperUser-Leser Jake möchte eine BAT-Datei unsichtbar ausführen, schreibt er:

Ich habe ein Ruby-Gem namens Redcar installiert, das über die Befehlszeile gestartet wird. Wenn es ausgeführt wird, stiehlt es die Shell, bis es beendet wird, also muss ich ein neues Shell-Fenster erstellen, um die Befehlszeilenarbeit fortzusetzen. Die Shell, die ich verwende, ist die GITBash-Shell von MySysGit.

Ich habe eine Redcar.bat-Datei gefunden, die Redcar als Verknüpfung starten soll, nehme ich an, aber ich möchte nicht, dass sich das zusätzliche Eingabeaufforderungsfenster öffnet, wenn ich die BAT-Datei starte.

Wie führe ich das BAT einfach aus, ohne die Eingabeaufforderung zu sehen?

Gibt es eine Lösung für Jakes verstohlenes Verlangen?

Die Antworten

SuperUser-Mitwirkender Afrazier antwortet mit einer Kombination aus schlechten und guten Nachrichten:

Sie können nicht – das Ausführen einer Batch-Datei mit der integrierten Eingabeaufforderung wird ein Fenster geöffnet halten, bis die Batch-Datei beendet wird.

Sie unternehmen Schritte, um sicherzustellen, dass die Batchdatei so schnell wie möglich beendet wird. Wenn möglich, ändern Sie die Batch-Datei, um ein beliebiges Programm mit dem auszuführen start Befehl. Standardmäßig, start kehrt sofort zurück, ohne auf das Beenden des Programms zu warten, sodass die Batchdatei weiter ausgeführt und vermutlich sofort beendet wird. Kombinieren Sie dies mit der Änderung Ihrer Verknüpfung, um die Batch-Datei minimiert auszuführen, und Sie sehen nur die Taskleiste blinken, ohne ein Fenster auf dem Bildschirm zu sehen.

Eine Einschränkung besteht darin, dass, wenn Sie ein Programm im Konsolenmodus ausführen, was viele Skriptinterpreter sind, die Batch-Datei wartet, bis das Programm beendet wird, und verwendet start erzeugt ein neues Konsolenfenster. In diesem Fall müssen Sie die Windows-basierte Version des Interpreters anstelle der konsolenbasierten Version ausführen — nein start notwendig. Für Perl würden Sie ausführen wperl.exe anstatt perl.exe. Für Python ist es pythonw.exe anstatt python.exe. Die alte Win32-Ruby-Distribution, die ich heruntergeladen habe, hat rubyw.exe, die das gleiche tun sollte.

Eine letzte Möglichkeit besteht darin, ein Drittanbieter-Tool zu verwenden, um die Eingabeaufforderung mit einem ausgeblendeten Fenster auszuführen. Ich habe von solchen Dingen gehört, aber nie eine Verwendung dafür gehabt, daher kenne ich nichts Besonderes, auf das ich Sie hinweisen könnte.

Die Leser haben ihn auch darauf hingewiesen ein weiterer SuperUser-Thread Dies zeigt, wie Sie mit einem Visual Basic-Skript über das Minimieren der Sichtbarkeit hinausgehen und die CMD-Eingabeaufforderung vollständig ausblenden können. In diesem Thread erklärt Harry MC:

Lösung 1:

Speichern Sie diese eine Textzeile als Datei invisible.vbs:

Um ein Programm oder eine Batch-Datei unsichtbar auszuführen, verwenden Sie es wie folgt:

Um auch eine Liste von Argumenten weitergeben/weitergeben zu können, verwenden Sie nur zwei doppelte Anführungszeichen

zB: Invisible.vbs „Kill.vbs ME.exe“

Lösung 2:

Verwenden Sie ein Befehlszeilentool, um einen Prozess im Hintergrund zu starten: Ruhig.

Wenn Sie eine der oben genannten Lösungen verwenden, je nach Ihrem Komfort mit VBS und Tools von Drittanbietern oder nicht, wird die Sichtbarkeit des CMD-Fensters mindestens verringert oder vollständig entfernt.

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia