Batchdateiprozess lässt zusätzliche Eingabeaufforderung geöffnet

Batchdateiprozess lässt zusätzliche Eingabeaufforderung geöffnet

Ich habe diese Batchdatei und sie erstellt eine Batchdatei im Startordner, die eine bestimmte URL zu einer Website öffnet. Mein Problem ist, dass bei jeder Ausführung auch eine leere Eingabeaufforderung geöffnet bleibt.

Das Batch-Skript läuft einwandfrei und öffnet die Website-URL mit dem Webbrowser, lässt aber ein zusätzliches CMD-Fenster geöffnet, das ich vermeiden möchte. Hinweis: Ich frage nicht, wie man ein CMD-Fenster im Hintergrund ausführt.

Hier ist der Code:

@echo off

cd C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

echo @echo off > startup.bat

echo start (link) >> startup.bat

start startup.bat

Kann mir jemand sagen, was ich ändern könnte, um dieses Problem zu beheben?

Antwort1

Du könntest benutzenANRUFund fügen Sie den /MINSchalter mit demSTARTBefehl, um es versteckter zu halten und sicherzustellen, dass das CMD-Fenster beim Ausführen verschwindetentsprechend der Art und Weise, wie Sie die Logik in Ihrem obigen Beispiel eingerichtet haben.

Ich habe einige schnelle Anpassungen vorgenommen und diese Logik hinzugefügt, damit Sie ein genaues Beispiel dessen haben, was ich verwendet und bestätigt habe, dass es so funktioniert, wie Sie erklären, dass es für Sie funktionieren muss.

Beispielskript

@echo off

CD /D C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

echo @echo off > startup.bat
echo START /MIN "" "https://google.com">> startup.bat
echo EXIT /B>> startup.bat

CALL startup.bat
EXIT /B

Weitere Ressourcen

Antwort2

Bitte schauen Sie sich den folgenden Link an:

Wie führe ich eine Batchdatei aus, ohne ein „Eingabefenster“ zu starten?

Wenn auf den Link nicht zugegriffen werden kann, heißt es in einer Antwort, dass ein VBS-Skript erstellt werden soll, das Folgendes enthält:

CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True

Wobei „Ihre_Batchdatei.bat“ der Name Ihrer Batchdatei ist.

Speichern Sie das Obige als Visual Basic-Skript, z. B.: example.vbs, und führen Sie es aus.

Antwort3

Hier erfahren Sie, warum und was zu tun ist:

standardmäßig führt START das Äquivalent von CMD /K aus, das ein zweites Befehlsfenster öffnet und offen lässt. In den meisten Fällen möchten Sie das Batch-Skript abschließen und dann einfach die CMD-Konsole schließen, um das anfängliche Batch-Skript fortzusetzen. Dies können Sie tun, indem Sie CMD /C explizit ausführen ...

Echo Starting
START /wait "demo" CMD /c demoscript.cmd
Echo Done

Quelle

verwandte Informationen