Na razie mój plik wsadowy wygląda następująco:
myprogram.exe param1
Program uruchamia się, ale okno DOS pozostaje otwarte. Jak mogę to zamknąć?
windows
batch-file
Mister Dev
źródło
źródło
Odpowiedzi:
Możesz użyć słowa kluczowego exit. Oto przykład z jednego z moich plików wsadowych:
źródło
exit
w pliku wsadowym.start "VPN" "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"
Użyj polecenia start, aby zapobiec oczekiwaniu pliku wsadowego na program. Pamiętaj tylko, aby umieścić pusty podwójny cudzysłów przed programem, który chcesz uruchomić po „Start”. Na przykład jeśli chcesz uruchomić program Visual Studio 2012 z polecenia wsadowego:
zwróć uwagę na podwójny cytat po uruchomieniu.
źródło
start <window name> <program name>
Spójrz na polecenie START, możesz to zrobić:
Na przykład ten plik wsadowy będzie czekał na zamknięcie notatnika:
Nie spowoduje to jednak:
źródło
Z mojego własnego pytania :
działa, jeśli uruchomisz program z istniejącej sesji DOS.
Jeśli nie, wywołaj skrypt VB
Metoda Run () Windows Script Host Run () przyjmuje:
Oto invis.vbs:
źródło
Jest to jedyna rzecz, która działała dla mnie, gdy próbowałem uruchomić klasę Java z pliku wsadowego:
start "cmdWindowTitle" /B "javaw" -cp . testprojectpak.MainForm
Możesz dostosować
start
komendę do swojego projektu, postępując zgodnie z odpowiednią składnią:źródło
Powinieneś spróbować. Uruchamia program bez okna. W rzeczywistości miga na sekundę, ale szybko znika.
źródło
"title"
Opcja jest ważna. Jeśli ścieżka programu zawiera spacje, musi być ujęta w cudzysłów, dlatego musimy dodać,"title"
aby uniknąć niepowodzenia.Jak rozwiązać „problem z przestrzenią” i lokalne zależności:
źródło
Mnóstwo odpowiedzi na to pytanie już, ale piszę to, aby wyjaśnić coś ważnego, chociaż nie zawsze tak jest:
Może to powodować problemy w niektórych wersjach systemu Windows, ponieważ
Start
faktycznie oczekuje, że pierwszy zestaw znaków cudzysłowu będzie tytułem systemu Windows. Najlepszą praktyką jest najpierw podwójne zacytowanie komentarza lub pustego komentarza:lub
źródło
Moje rozwiązanie, aby to zrobić z GUI:
Utwórz skrót do programu, który chcesz uruchomić;
Edytuj właściwości skrótu;
Zmień
TARGET
pole na%COMSPEC% /C "START "" "PROGRAMNAME""
;Zmień
RUN
pole na zminimalizowane.Gotowy! Zobacz, jak ci się podoba ...
PS: Parametry programu można wstawić pomiędzy dwa końcowe znaki cudzysłowu;
PROGRAMNAME
ciąg może być zarówno nazwa pliku, krewny lub ścieżka bezwzględna - gdy włożysz bezwzględną ścieżkę i usunąć literę dysku i średnik, to będzie działać w thumbdrive Nieważne co pisma przypisuje komputer hosta do niego .. . (także, jeśli umieścić skrót w tym samym folderze i poprzedzić nazwę pliku programu wPROGRAMNAME
przy%CD%
zmiennej, ścieżki będzie zawsze pasuje; sama sztuczka może być stosowany wSTART IN
polu).źródło
Jeśli ten plik wsadowy jest czymś, co chcesz uruchomić zgodnie z harmonogramem lub zawsze; możesz użyć narzędzia do planowania systemu Windows i nie otwiera się ono w oknie, gdy uruchamia plik wsadowy.
Aby otworzyć
Task Scheduler
:'cmd'
taskschd.msc
-> enterPo prawej stronie kliknij
Create Basic Task
i postępuj zgodnie z menu.Mam nadzieję że to pomoże.
źródło
Oto moje preferowane rozwiązanie. Został zaczerpnięty z odpowiedzi na podobne pytanie.
Użyj skryptu VBS, aby wywołać plik wsadowy:
Skopiuj powyższe wiersze do edytora i zapisz plik z rozszerzeniem .VBS.
źródło