
Tänane küsimuste ja vastuste seanss jõuab meile viisakalt SuperUserini - Stack Exchange'i ja kogukonnapõhiste Q & A veebisaitide rühmitusse.
Küsimus
SuperUseri lugeja Jake tahab käivitada BAT-faili nähtamatult, kirjutab ta:
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?
Kas Jake'i varjatud kiire soovi jaoks on lahendus?
Vastused
SuperUseri kaastöötaja Afrazier vastab halva ja head uudiste kombinatsioonile:
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
käsk Vaikimisi,
start
naaseb kohe, ootamata programmi väljumist, nii et partii fail jätkub ja eeldatavasti väljub kohe. Paar seda, et muutes oma otsetee, et käivitada partiifaili minimeeritud, ja näete tegumiriba välgu ainult ekraanil olevat akent.
Üheks probleemiks on see, et kui kasutate konsooli-režiimi programmi, mis on paljudes skripttõlistustes, siis pakettfaili oodata, kuni programm väljub, ja kasutades
start
kasutab uut konsooli akent. Selles olukorras peate käitama tõlgi Windowsi versiooni konsoolipõhise ühe asemel - ei
start
vajalik. Perli jaoks oleksite käinud
wperl.exe
selle asemel
perl.exe
. Pythoni jaoks on see
pythonw.exe
selle asemel
python.exe
. Mul on alla laaditud vana win32-i Ruby levi
rubyw.exe
mis peaks tegema sama asja.
Viimane võimalus on kasutada kolmanda osapoole tööriista käsureale käivitamiseks varjatud aknas. Olen kuulnud sellistest asjadest, kuid pole neid kunagi kasutanud, nii et ma ei tea midagi eriti selle kohta, mis teid teile viitas.
Lugejad viitasid talle ka teisele SuperUseri lõimile, mis tõstab esile seda, kuidas saate kasutada Visual Basic skripti, et minna nähtavuse minimeerimiseni ja peita CMD-viivitus otse. Sellel teemal selgitab Harry MC:
Solution 1:
Save this one line of text as file
invisible.vbs
:
CreateObject ("Wscript.Shell"). Käivita "" "" & WScript.Arguments (0) ja "" "", 0, vale
Iga programmi või partii faili nägemiseks käivitage see järgmiselt:
wscript.exe "C: Kuva invisible.vbs" "C: Mõned muud kohad MyBatchFile.bat"
Argumentide loendi üleviimiseks / edastamiseks saab kasutada ka kahte topeltjutumust
CreateObject ("Wscript.Shell"). Käivita "" & WScript.Arguments (0) &"", 0, vale
Näiteks: Invisible.vbs "Kill.vbs ME.exe"
Lahendus 2:
Käsurea tööriista kasutamine protsessi käivitamiseks vaikselt: vaikne.
Kasutades mõnda ülaltoodud lahendust, mis põhineb teie mugavuse tasemel, kasutades VBS-i ja kolmanda osapoole tööriistu või mitte, vähendab minimaalselt CMD-akna nähtavus või eemaldatakse see otsekohe.
Kas teil on seletamiseks midagi lisada? Helistage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Tutvu täieliku arutelu teemaga siit.