Aplikacja, którą chcę uruchomić, to MongoDB. Gdybym zaczął normalnie, wygląda to tak:
Nie podoba mi się ilość podziałów linii i mam dużo miejsca na ekranie, więc chciałbym wykorzystać tę przestrzeń, aby pozbyć się podziałów linii.
Mogę zmienić rozmiar okna konsoli MODE
, więc napisałem plik wsadowy w następujący sposób:
@ECHO OFF
MODE con:cols=140 lines=70
%~dp0mongodb\bin\mongod --dbpath %~dp0data --rest
Jak na razie dobrze. Kiedy uruchamiam ten plik wsadowy, w razie potrzeby pojawia się większe okno.
Ale kiedy teraz naciskam Ctrl+, Caby wyjść z MongoDB, pojawia się irytujący monit:
Terminate batch job (Y/N)?
Co jest bezużyteczne, ponieważ polecenie, z którego właśnie wyszedłem, i tak było ostatnim poleceniem w zadaniu wsadowym i bez względu na to, co odpowiem, wynik jest taki sam.
Jak mogę uzyskać większe okno konsoli dla aplikacji bez wyświetlania tego monitu po naciśnięciu Ctrl+ C?
źródło
O ile rozumiem pytanie, chcesz, aby MongoDB miał określony rozmiar okna konsoli i wychodził po naciśnięciu Ctrl+ C. Odpowiedź jest dość prosta: użyj skrótu, aby go uruchomić.
Nie mam
mongod
pliku wykonywalnego, więc użyłbymperl.exe
jako przykładu. Po uruchomieniu z okna dialogowego Uruchamianie ( Windows+ R) rozmiar okna konsoli wynosiłby standardowy 80 × 25 z rozmiarem bufora dla 300 linii.mongod
(lubperl
w moim przypadku).mongod
.Teraz po kliknięciu tego skrótu okno konsoli będzie miało określony rozmiar. Po naciśnięciu przycisku Ctrl+ Caplikacja zostanie zamknięta, a okno zostanie zamknięte bez żadnych dodatkowych monitów.
Możesz także zmienić układ okna po uruchomieniu go z okna dialogowego Uruchom . Kliknij prawym przyciskiem myszy tytuł okna konsoli i kliknij Właściwości . Kliknij kartę Układ , dostosuj rozmiar okna i kliknij OK, aby zamknąć właściwości i natychmiast zastosować zmiany. (Jeśli okno zostało uruchomione ze skrótu, właściwości skrótu zostaną zaktualizowane).
Przy następnym uruchomieniu tej samej aplikacji rozmiar okna konsoli będzie magicznie tego samego rozmiaru. (Tym razem nie sprawdziłem, ale kiedyś działało).
źródło
mongod.exe
nie jest ustalona. Zmieni się w zależności od wdrożenia aplikacji. Właśnie dlatego dążyłem do rozwiązania bezpośrednio przez konsolę. Kiedy umieszczam ścieżkę względną w polach katalogu docelowego lub roboczego dla skrótu, nie zaakceptuje ich :(start cmd /k
i przekazuje dodatkowy parametr lub ustawia zmienną środowiskową. Druga instancja następnie zmienia rozmiar okna konsoli i uruchamia sięmongod.exe
.Terminate batch job (Y/N)?
monitu: \ Właśnie skończyłem wdrażanie aplikacji otoki, aby to dla mnie rozwiązać.Domyślne ustawienia układu konsoli znajdują się tutaj w rejestrze:
Możesz zmodyfikować te ustawienia i będą one dotyczyć WSZYSTKICH okien poleceń, które zostaną uruchomione, niezależnie od ścieżki. Niestety surowe wartości nie są przyjazne dla człowieka.
Aby ustawić je tak, jak chcesz, otwórz zwykłe okno cmd, a następnie edytuj ustawienia według własnych upodobań. Spójrz w rejestrze na powyższą ścieżkę i powinieneś zobaczyć podklucz w „Console” dla cmd.exe. Wyeksportuj ten klucz do pliku, zmień ścieżkę do powyższej i zaimportuj lub po prostu ręcznie skopiuj wartości z jednego do drugiego. Następnie możesz usunąć konkretny wpis cmd.exe. Teraz wszystkie otwarte okna poleceń będą używać zmodyfikowanych ustawień domyślnych.
Przydało mi się utworzenie kilku plików wpisów rejestru z moimi standardowymi ustawieniami domyślnymi, dzięki czemu mogę łatwo wrzucić je na nowy serwer, gdy uruchamiam RDP po raz pierwszy. Zrobiłem ustawienia dla dwóch rozmiarów, których zwykle używam.
W przypadku rozdzielczości 1024 x 768 (używam tego dla serwerów, do których zwykle uzyskuje się dostęp za pomocą narzędzia RDP dla wielu sesji):
Dla 1280 x 1024:
źródło
Umieść
Start
polecenie przed wywołaniem mongodb. Uważam, że to powinno to naprawić.źródło
start /b
go użyję, pozostawi otwarte okno konsoli po naciśnięciu Ctrl + C.Jeśli z przyjemnością uruchomisz plik wsadowy wraz z kilkoma małymi programami pomocniczymi, to tutaj opublikowałem kompletne rozwiązanie: W
jaki sposób plik wsadowy może uruchomić program i ustawić położenie i rozmiar okna?
Treść jak poniżej. . . .
Ten plik wsadowy wersji demonstracyjnej uruchomi program wiersza polecenia i ustawi pozycję oraz rozmiar okna konsoli wiersza polecenia. Ogólny motyw tej partii jest taki sam, jak w poprzednich dwóch rozwiązaniach (na stronie Przepełnienie stosu w linku powyżej), ale były pewne unikalne problemy i obejścia, które sprawiły, że to zadziałało - jest to okno wiersza polecenia obsługiwane przez CMD .EXE ”, a nie okno GUI, takie jak„ EXPLORER.EXE ”.
Przeczytaj wszystkie komentarze i opis w pliku wsadowym, aby uzyskać więcej informacji.
Zastosowane narzędzia:
1. MonitorInfoView autor: Nir Sofer (41 KB)
2. NirCmd autor: Nir Sofer (43 KB)
3. GetPID autor: Daniel Scheibli (280 KB)
4. upx.exe --- to program wiersza polecenia, którego będziemy używać w tej wersji demonstracyjnej; umieść go w tym samym katalogu, co plik wsadowy.
5. Plik wsadowy --- patrz poniżej
Zbierz wszystkie pięć plików do katalogu. To jest plik wsadowy, gotowy do uruchomienia w dowolnym systemie Windows.
To, co zrobi ta partia demonstracyjna, oprócz przedstawienia niestandardowego okna konsoli, będzie działać
upx.exe
z przełącznikami wiersza polecenia--best -v -o getpids-compressed.exe getpids.exe
. Zamierzamy skompresować nasze narzędzie „GetPID” do 88 KB ... Po uruchomieniu kliknij dwukrotnie pasek tytułowy tego okna konsoli, aby zobaczyć interesujące zjawisko; to okno konsoli zachowuje się jak GUI!źródło