Plik BAT: Otwórz nowe okno cmd i wykonaj tam polecenie
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"
Jak mogę to zrobić? 8 answers
Możesz już znaleźć odpowiedź, ponieważ to było jakiś czas temu pytałeś. Ale próbowałem zrobić coś podobnego podczas kodowania ror. Chciałem uruchomić "rails server" 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 ten sposób:
start cmd /k echo Hello, World!
Uruchom zanim " cmd "otworzy aplikację w nowym oknie i" / K "wykona" echo Hello, World!"po uruchomieniu nowego cmd.
Możesz również użyć przełącznika /C za coś podobnego.
start cmd /C pause
Spowoduje to uruchomienie "pause", ale zamknięcie okna po wykonaniu polecenia. W tym przypadku po naciśnięciu przycisku. Okazało się, że jest to przydatne dla "rails server", więc po wyłączeniu serwera dev nie muszę zamykać okna po.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-27 04:41:04
Użyj następującego pliku wsadowego:
start cmd.exe /k "more-batch-commands-here"
Lub
start cmd.exe /c "more-batch-commands-here"
/c wykonuje polecenie określony przez string, a następnie terminuje
/ align = "left" / polecenie określone przez string ale remains
Skonsultuj się z cmd.dokumentacja exe za pomocą cmd /?
aby uzyskać więcej szczegółów.
Poprawne formatowanie ciągu poleceń staje się nieco bardziej skomplikowane ze spacjami w argumentach. Zobacz przykłady poniżej. Zwróć uwagę na użycie zagnieżdżonych podwójne cudzysłowy w niektórych przykładach.
Przykłady:
Uruchom program i podaj parametr filename: 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-06 06:37:23
To nie jest łatwe.
Najlepszym podejściem jest to, aby część skryptu, którą chcesz wykonać w "nowym oknie", znajdowała się w osobnym .plik bat. Może to być niepraktyczne, jeśli np. potrzebujesz dużo stanu z reszty skryptu (zmienne, itp.). Jedną z opcji jest przekazanie do pliku wsadowego dowolnych wartości (np.]}
start cmd.exe stuff.bat %this_dir%
Jeśli masz dużą ilość stanów do przesłania, możesz rozważyć wygenerowanie pliku wsadowego w czas trwania:
set foo=Hello, World
set list_me=%userprofile%
set tmpdir=c:\windows\temp
set tmp=%tmpdir%\tmp.foo
del /q /f "%tmp%"
echo.echo %foo%>>"%tmp%"
echo.dir "%list_me%">>>"%tmp"
start cmd.exe "%tmp%"
del /q /f "%tmp%"
Oczywiście jest to trywialny przykład.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-22 13:09:37
Powyższe odpowiedzi mi pomogły. Ale i tak trzeba było coś wymyślić. Oto przykładowy skrypt, którego używam do uruchomienia 3 procesów do tworzenia stron internetowych. Powoduje to, że 3 okna pozostają otwarte, ponieważ muszą działać w sposób ciągły.
Mongo jest globalnie dodawany do mojej ścieżki, więc nie muszę nagrywać płyty tak, jak w przypadku pozostałych dwóch programów. Oczywiście ścieżka do plików będzie różna, ale mam nadzieję, że to pomoże.
:: Start MongoDB
start cmd.exe /k "mongod"
:: cd app directory, and start it
cd my-app
start cmd.exe /k "npm run dev"
:: cd to api server, and start that
cd ../my-app-api
start cmd.exe /k "npm run dev"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-12 13:33:40
Dzięki wszystkim tutaj w Stack Overflow; To rozwiązanie rozwiązuje powyższe pytanie, ale jest rozszerzone, aby automatycznie uruchamiać te zadania:
- chcę uruchomić mój serwer rails
- Uruchom grabie jobs: worker dla mojego opóźnionego_job też
- i otwórz domyślną przeglądarkę internetową na Pokaż moją stronę
- wreszcie, aby Pozostawić okno cmd otwarte dla dodatkowych poleceń podczas mojej sesji.
Chyba mój projekt nazywa się "antiquorum."
Utwórz "init.bat" plik w katalogu %USERPROFILE % (Otwórz oknocmd i spójrz na ścieżkę po lewej stronie kursora, aby dowiedzieć się, czym jest %USERPROFILE%)
@echo off
cd C:/projects/rails3/antiquorum
if "%1" == "antiquorum" GOTO start
if "%1" == "worker" GOTO worker
if "%1" == "server" GOTO server
if "%1" == "" GOTO end
:start
start cmd /k %USERPROFILE%\init.bat worker
start cmd /k %USERPROFILE%\init.bat server
TIMEOUT 30
start "" "http://localhost:3000/"
GOTO end
:server
rails s
GOTO end
:worker
rake jobs:work
:end
W nowym oknie wiersza 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 działa. Można uruchamiać zadania 1,2 lub 4 osobno wpisując params jako: Serwer, w tym samym roku, w ramach projektu"antiquorum"("antiquorum") otwarto cmd w korzeniu projektu "antiquorum" ("antiquorum") projektu.
Smacznego.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-08 01:37:19
Jeśli dobrze rozumiem, że robisz to w side, Twój plik bat otworzy wiersz polecenia i wydrukuje Twoją wiadomość na ekranie.
cmd.exe hello world
Mam nadzieję, że to pomoże.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-15 23:32:09
Aby uruchomić plik Pythona w nowym oknie cmd ze spacjami w nazwie pliku:
start cmd.exe /k python "C:\Program Files\HelloWorld.py"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-19 02:30:46
Dodawanie /k
między dwoma poleceniami wykonuje oba polecenia in order
.
Przykład:
cmd /k echo "hello"
To polecenie najpierw otworzy command prompt
a następnie wykona echo "hello"
polecenie
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-06-23 21:07:44