Ako zabrániť uzavretiu príkazového riadku po vykonaní skriptu

Ako zabrániť uzavretiu príkazového riadku po vykonaní skriptu

Mnoho problémov s počítačom sa vyrieši pomocou tlmočníka príkazového riadku - tento archaizmus, ktorý dostal okná od predchodcu, operačný systém MS -DOS, sa ukázalo byť tak vytrvalí, že sa tiež často používa v ére celkového grafického rozhrania.

Existujú dva scenáre na použitie príkazového riadku:

  • Spustíte okno terminálu a už v ňom zadáte potrebné príkazy, čím dokončíte prácu príkazu Exit;
  • Používate hotový súbor (CMD alebo BAT). V tomto prípade sa príkazový riadok začína automaticky a tiež sa uzatvára samostatne po vypracovaní všetkých príkazov skriptu.

Táto posledná možnosť je z hľadiska používateľa veľmi pohodlná, pretože minimalizuje svoje úsilie. Má však jednu významnú nevýhodu: Príkazy sú často vypracované tak rýchlo, že nemáte čas zvážiť výsledky práce Batnika. A vo väčšine prípadov je to užitočné a potrebné.

Dnes zvážime všetky možné metódy, ktoré vám umožnia zabrániť tomu, aby sa takýto netradičný uspokojivý scenár.

Prečo bezprostredne po príkaze príkazu sa okno príkazového riadku rýchlo uzavrie a čo robiť, aby tomu zabránilo

Ako sme už poznamenali, správnym spôsobom, ako použiť príkazový riadok, je spustiť tlmočníka príkazom CMD z konzoly „Vykonať“ a následný záznam príkazov manuálne.

Bohužiaľ, početné pokyny chôdze po sieti ignorujú toto odporúčanie a odporučte používateľom zadať potrebné textové príkazy priamo do panela „vykonávania“. A naivní používatelia posvätne veria, že správne používajú príkazový riadok. V skutočnosti to tak nie je. Po zadaní príkazu do okna „Execute“ (ktoré je spustené v systéme Windows 10/11 stlačením PKM tlačidlom „Štart“ a vo verziách OS nižšie - pomocou kombinácie Win+R a stlačením Enter, Enter, Samotný príkazový riadok sa skutočne začína a práca samotného príkazu. Ale ak je výsledok práce zadaného príkazu taký, že nevyžaduje žiadnu akciu od používateľa, okno COP sa okamžite zatvorí. A to sa deje vo veľkej väčšine prípadov, aj keď počas vykonávania príkazu musíte stlačiť niektoré kľúče.

Presne rovnaký postup sa získa pri spustení súboru BAT s jediným rozdielom: V takomto obušku môžete predpísať postupné vykonanie ľubovoľného počtu príkazov. Výsledok však bude podobný: ak prítomnosť akýchkoľvek pozastavení neposkytuje samotné príkazy, potom po ich vykonaní okno s čiernou obrazovkou sa okamžite uzavrie. Bez ohľadu na to, či sa vám podarilo všimnúť si, čo sa stalo alebo nie.

Pri manuálnom otvorení CS sa najskôr spustí okno terminálu, v ktorom musíte zadať príkaz alebo sadu príkazov. V takom prípade sa príkazový riadok po vykonaní týchto príkazov nezatvorí. To znamená, že budete mať možnosť starostlivo študovať výsledky vypracovania skriptu alebo tímu, a až potom zatvorte okno terminálu zadaním výstupu a stlačením Enter (alebo jednoducho kliknete na kríž v pravom hornom rohu terminálu okno).

Ale čo robiť, ak inštrukcia vyžaduje spustenie súboru BAT (naň dvakrát kliknite) a potrebujete, aby sa po vypracovaní skriptu nezavrel okno, pretože výsledky skriptu sa odrážajú tam?

Najzreteľnejším spôsobom je najprv spustiť tlmočník príkazového riadku a už v ňom uviesť úplnú cestu k súboru BAT a potom stlačte kláves Enter. Ak sa mýlite, čo naznačuje túto cestu (na konci musí existovať názov súboru s jeho rozšírením), čo sa deje pomerne často, výsledok vás uspokojí: tím sa vykoná a okno terminálu sa potom nezatvorí.

Hlavným problémom je, že potrebujete vedieť, v ktorom priečinku je požadovaný súbor a správne zadajte túto cestu.

Existuje iný spôsob, aj keď vás bude vyžadovať z niektorých netriviálnych akcií a presnejšie - úpravy tohto Batnika. To sa deje spustením ľubovoľného textového editora (napríklad notebook). Na konci súboru budete musieť pridať riadok a zadajte príkaz pauzy.

Tím Pause pozastavuje postupnosť príkazov s výstupným oknom textového terminálu „Ak chcete pokračovať, stlačte ľubovoľný kláves ...“. V dôsledku pokračovania skriptu môže existovať veľa takýchto príkazov až po jeho uzavretie, až po stlačení ľubovoľného klávesu.

Rovnaký výsledok sa dosiahne, ak na konci bojovej lode pridajte riadok CMD /K.

Zároveň sa zdá, že reštartujete policajt, ​​to znamená, že výsledky vykonávania predchádzajúcich príkazov budú vymazané. V tejto súvislosti bude vhodnejšie použitie tempa.

Špeciálny príkazový riadok otvárania a zatvárania

Keď ste iniciátorom začatia ústavného súdu, čo robiť, že sa nezatvorí, už sme preskúmali. Ale určite, každý z vás čelí situácii, keď sa notoricky čierne okno otvorí a zatvára bez vašich vedomostí a to, čo sa stalo v ňom, je takmer nemožné všimnúť si. Najčastejšie sa k takýmto spusteniam vyskytuje počas začiatku operačného systému, ale niekedy sa vyskytujú v najneočakávanejšom okamihu bez zjavného dôvodu (hoci v skutočnosti existujú dôvody, napríklad taký scenár je uvedený v jednom z procesov na pozadí ).

Ak sa príkazové riadky spontánne otvára a uzatvára iba príležitostne, pravdepodobne je to kvôli prevádzke operačného systému a nemali by ste sa s tým báť. Takáto aktivita sa často prejavuje pri vykonávaní aktualizácií systému Windows alebo v dôsledku nastavenia práce svojich služieb, čo vyžaduje, aby príkazy na spustenie príkazov na dokončenie režimu tlmočníka príkazového riadku.

Rovnaký výsledok môže byť výsledkom postupu inštalácie alebo odstránenia používateľom počítača niektorých programov, často po reštarte systému.

Ak sa príkazový riadok otvára a zatvára často, prečo sa to stane, musíte to určite zistiť.

Najprv by ste mali skontrolovať, ktoré programy sú prítomné pri zaťažení automobilu, nezasahuje do predpokladu plánovača úloh. Ak nájdete riadok začínajúcu s CMD.EXE, ktoré označujú parametre po tomto texte, je to s najväčšou pravdepodobnosťou dôvod spustenia CS. Aby ste to zabezpečili, vypnite čiaru v zaťažení zbernice odstránením kontrolného znaku napravo a urobte to isté v plánovači. Ak príkazový riadok spustí zastavenie a prevádzka operačného systému zostane stabilná, podozrivé riadky môžu byť navždy odstránené.

Ak to nepomôže, stojí za to spustiť úplné skenovanie počítača pomocou antivírusového programu vybudovaného alebo nainštalovaného vy. Je možné, že pozorované spustenie príkazového riadku sú výsledkom práce vírusu.

Môžete sa tiež pokúsiť automatizovať proces tak, aby príkazový riadok, bez ohľadu na to, či ste ho spustili, operačný systém alebo vírus, sa na konci nezavrel. To bude potrebné urobiť určité úpravy registra - to znamená, že metóda sa odporúča iba pre skúsených používateľov.

Spúšťame teda redaktor príkazov Regedit v registri systému a prekročíme cestu

Hkcr \ batfile \ shell \ Open \ príkaz.

V predvolenom nastavení je pre túto vetvu nastavený jeden parameter s hodnotou

" %1" %*

Je potrebné ho nahradiť

CMD.exe /k " %1" %*

Vyrábame presne rovnaké manipulácie s HKCR \ CMDFile \ shell \ Open \ príkazový vetv.

Výsledkom je, že akékoľvek spustenie príkazového riadku sa nekončí bez vášho súhlasu, pokiaľ v skripte nie sú príkazy výstupné príkazy.