Próbuję otworzyć nowe okno poleceń w pliku BAT:
start %windir%\system32\cmd.exe
Po otwarciu chciałbym wykonać polecenie BAT w nowym oknie:
echo "test in new window"
W jaki sposób mogę to zrobić?
źródło
Próbuję otworzyć nowe okno poleceń w pliku BAT:
start %windir%\system32\cmd.exe
Po otwarciu chciałbym wykonać polecenie BAT w nowym oknie:
echo "test in new window"
W jaki sposób mogę to zrobić?
Być może już znalazłeś odpowiedź, ponieważ pytałeś o nią jakiś czas temu. Ale próbowałem zrobić coś podobnego podczas kodowania ror. Chciałem uruchomić „serwer railsowy” w nowym oknie cmd, więc nie muszę otwierać nowego cmd i ponownie znajdować ścieżki.
Dowiedziałem się, że używam przełącznika K w następujący sposób:
start cmd /k echo Hello, World!
start zanim "cmd" otworzy aplikację w nowym oknie, a "/ K" uruchomi "echo Hello, World!" po uruchomieniu nowego polecenia cmd.
Możesz również użyć przełącznika / C do czegoś podobnego.
start cmd /C pause
Spowoduje to wykonanie „pauzy”, ale zamknie okno po wykonaniu polecenia. W tym przypadku po naciśnięciu przycisku. Znalazłem to przydatne dla "serwera railsowego", wtedy kiedy zamykam mój serwer deweloperski, nie muszę potem zamykać okna.
cmd
. Możesz po prostu wpisaćstart rails s
.Użyj następujących w pliku wsadowym:
lub
Więcej informacji można znaleźć w dokumentacji cmd.exe przy użyciu
cmd /?
.Właściwe formatowanie ciągu poleceń staje się nieco bardziej skomplikowane w przypadku spacji w argumentach. Zobacz przykłady poniżej. Zwróć uwagę na użycie zagnieżdżonych podwójnych cudzysłowów w niektórych przykładach.
Przykłady:
Uruchom program i podaj parametr nazwy pliku:
CMD /c write.exe c:\docs\sample.txt
Uruchom program i podaj długą nazwę pliku:
CMD /c write.exe "c:\sample documents\sample.txt"
Spacje w ścieżce programu:
CMD /c ""c:\Program Files\Microsoft Office\Office\Winword.exe""
Spacje w ścieżce programu + parametry:
CMD /c ""c:\Program Files\demo.cmd"" Parameter1 Param2
CMD /k ""c:\batch files\demo.cmd" "Parameter 1 with space" "Parameter2 with space""
Uruchom demo1 i demo2:
CMD /c ""c:\Program Files\demo1.cmd" & "c:\Program Files\demo2.cmd""
Źródło: http://ss64.com/nt/cmd.html
źródło
To nie jest łatwe.
Najlepszym podejściem jest umieszczenie w „nowym oknie” tej części skryptu, która ma być wykonana, w osobnym pliku .bat. Może to być niepraktyczne, jeśli np. Potrzebujesz dużej ilości stanów z reszty skryptu (zmienne itp.). Jedną z opcji jest przekazanie potrzebnych wartości (np. Dir do operacji) do pliku wsadowego:
Jeśli masz dużą liczbę stanów do przesłania, możesz rozważyć wygenerowanie pliku wsadowego w czasie wykonywania:
Oczywiście jest to trywialny przykład.
źródło
Pomogły mi powyższe odpowiedzi. Ale nadal wymagało trochę zrozumienia. Oto przykładowy skrypt, którego używam do uruchomienia 3 procesów tworzenia stron internetowych. Powoduje to, że 3 okna pozostają otwarte, ponieważ muszą działać nieprzerwanie.
Mongo jest globalnie dodawane do mojej ścieżki, więc nie potrzebuję CD, tak jak robię to w przypadku pozostałych dwóch programów. Oczywiście ścieżka do twoich plików będzie się różnić, ale miejmy nadzieję, że to pomoże.
źródło
Podziękowania dla wszystkich tutaj w Stack Overflow; to rozwiązanie rozwiązuje powyższe pytanie, ale zostało rozszerzone o automatyczne uruchamianie następujących zadań:
Myślę, że mój projekt nazywa się „antykworum”.
Utwórz plik „init.bat” w katalogu % USERPROFILE% (otwórz okno cmd i spójrz na ścieżkę po lewej stronie kursora, aby dowiedzieć się, czym jest% USERPROFILE%)
W nowym oknie linii poleceń wpisz: C:> init antiquorum
Kod otwiera dwa kolejne okna cmd i przeglądarkę. TIMEOUT pozwala uniknąć błędów w przeglądarce.
Sekcja : start wykonuje całą pracę. Możesz uruchamiać zadania 1, 2 lub 4 osobno, wpisując parametry takie jak: server , worker lub none, aby pozostawić polecenie cmd otwarte w katalogu głównym projektu "antiquorum" .
Cieszyć się.
źródło
Jeśli rozumiem, że robisz to poprawnie, plik bat otworzy wiersz polecenia i wydrukuje wiadomość na ekranie.
mam nadzieję że to pomoże.
źródło
aby uruchomić plik Pythona w nowym oknie cmd ze spacjami w nazwie pliku:
źródło
Dodanie między dwoma poleceniami powoduje wykonanie obu poleceń .
/k
in order
Przykład:
to polecenie najpierw otworzy się,
command prompt
a następnie wykonaecho "hello"
polecenieźródło