Ar galiu paleisti "Windows" paketinį failą be matomos komandinės eilutės?

Turinys:

Ar galiu paleisti "Windows" paketinį failą be matomos komandinės eilutės?
Ar galiu paleisti "Windows" paketinį failą be matomos komandinės eilutės?

Video: Ar galiu paleisti "Windows" paketinį failą be matomos komandinės eilutės?

Video: Ar galiu paleisti
Video: CS50 2015 - Week 10 - YouTube 2024, Balandis
Anonim
Paketiniai failai yra patogus būdas paleisti komandų eilutes sistemoje "Windows", bet ar vis tiek yra jas paleisti nematoma fone? Skaitykite ir sužinokite kaip.
Paketiniai failai yra patogus būdas paleisti komandų eilutes sistemoje "Windows", bet ar vis tiek yra jas paleisti nematoma fone? Skaitykite ir sužinokite kaip.

Šiandieninė klausimų ir atsakymų sesija pateikiama su "SuperUser" - "Stack Exchange", bendruomenės valdoma Q & A grupių asociacija.

Klausimas

"SuperUser" skaitytuvas Jake nori paleisti failą "BAT" nematomai, jis rašo:

I have installed a ruby gem called Redcar, which is launched from the command line. When it runs, it steals the shell until it terminates, so I have to create a new shell window to continue doing command line work. The shell I’m using is the GITBash shell from MySysGit.

I found a Redcar.bat file which is meant to launch Redcar as a shortcut, I presume, but I don’t want the extra command prompt window to open whenever I launch the BAT file.

How do I just run the BAT without seeing the prompt?

Ar yra Jake's slapto greito noro sprendimas?

Atsakymai

"SuperUser" autorius Afrazier atsako blogų ir gerų naujienų deriniu:

You can’t - executing a batch file with the built in Command Prompt is going to keep a window open until the batch file exits.

What you can do is take steps to make sure that the batch file exits as quickly as possible. If at all possible, modify the batch file to run whatever program with the

start

komanda Pagal nutylėjimą

start

grįžta iš karto, nelaukdama, kol programa išeis, taigi paketinis failas bus tęsiamas ir greičiausiai iš karto išeis. Panašu, kad keičiantis spartieji klavišai, kad paleisti paketinį failą būtų sumažinta, ir jūs matysite tik užduočių juostos blykstę, net nematydami ekrano lango.

Vienas iš įspėjimų šiuo klausimu yra tai, kad jei naudojate konsolės režimo programą, kuri yra daugelis scenarijų vertėjų, paketinis rinkmena palaukite, kol programa išeis, ir naudosite

start

sukurs naują konsolės langą. Šiuo atveju reikia atlikti "Windows" versiją interpretuotojo, o ne konsolės pagrindu - ne

start

būtina. "Perl" paleisti

wperl.exe

vietoj

perl.exe

. "Python" tai yra

pythonw.exe

vietoj

python.exe

. Turiu atsisiųsti seną "win32" Ruby platinimą

rubyw.exe

kuris turėtų daryti tą patį.

Galutinė galimybė yra naudoti trečiosios šalies įrankį paleisti komandų eilutę su paslėptu langu. Aš girdėjau apie tokius dalykus, bet niekada jų nenaudojau, todėl aš nieko nežinau, kad tau būtų įdomu.

Skaitytojai taip pat atkreipė dėmesį į kitą "SuperUser" temą, išryškinančią, kaip galite naudoti "Visual Basic Script", kad būtų išvengta matomumo sumažinimo ir visiškai paslėptų CMD eilutę. Tame pačiame sakinyje Harry MC paaiškina:

Solution 1:

Save this one line of text as file

invisible.vbs

:

CreateObject ("Wscript.Shell"). Vykdyti "" "" & WScript.Arguments (0) ir "" "", 0, klaidingai

Norėdami paleisti bet kokią programą ar serijinį failą nematomai, naudokite jį taip:

wscript.exe "C: kur be invisible.vbs" "C: kai kurios kitos vietos MyBatchFile.bat"

Kad būtų galima perduoti / perduoti argumentų sąrašą, naudokite tik dvi dvigubas kabutes

CreateObject ("Wscript.Shell"). Vykdyti "" & WScript.Arguments (0) &"", 0, klaidingai

pvz.: Invisible.vbs "Kill.vbs ME.exe"

2 sprendimas:

Naudodami komandų eilutės įrankį, tyliai paleiskite procesą: tylios.

Naudojant bet kurį iš aukščiau išvardintų sprendimų, pagrįstų jūsų patogumo lygiu, naudojant VBS ir trečiųjų šalių įrankius, bent jau sumažins CMD lango matomumą arba jį visiškai pašalins.

Ar turite ką nors įtraukti į paaiškinimą? Garsas išjungtas komentaruose. Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų? Patikrinkite visą diskusijų temą čia.

Rekomenduojamas: