Kas ma saan käivitada Windowsi partiifaili ilma nähtava käsuviipita?
Partiifailid on mugav viis käskude realiseerimiseks Windowsis, kuid kas on neid ikkagi nähtamatult taustal käivitada? Lugege, kuidas.
Tänane küsimuste ja vastuste seanss saabub meiega kohtades, kus on SuperUser-Stack Exchange'i alajaotis, kogukondlikult juhitav Q&A veebisaitide rühmitus.
Küsimus
SuperUser-lugeja Jake tahab BAT-faili nähtamatult käivitada, kirjutab ta:
Olen installinud rubiini pärl Redcariks, mis käivitatakse käsurealt. Kui see jookseb, siis varastab see kesta, kuni see lõpeb, nii et pean looma uue käsurea töö jätkamiseks akna. Kasutatav kesta on MySysGiti GITBashi kest.
Ma leidsin Redcar.bati faili, mille eesmärk on käivitada Redcari otsetee, ma eeldan, aga ma ei taha, et lisakäskude aken avataks, kui käivitan BAT-faili.
Kuidas ma saan BAT-i lihtsalt käivitada, ilma et see oleks kiire?
Kas on olemas lahendus Jake'i salakaval kiirele soovile?
Vastused
SuperUser'i toetaja Afrazier reageerib halbade ja heade uudiste kombinatsioonile:
Te ei saa - partiifaili käivitamine koos sisseehitatud käsuviipiga hoiab akna avatuna, kuni partiifail väljub.
Mida sa saab tehke samme veendumaks, et partii fail väljub nii kiiresti kui võimalik. Kui üldse võimalik, muutke partiifaili, et käivitada mis tahes programm
alustada
käsk. Vaikimisi,alustada
naaseb kohe, ootamata programmi väljumist, nii et partiifail jätkab tööd ja eeldatavasti väljub kohe. Paarfaili käivitamiseks paralleelselt lühendage otsetee muutmist ning näete ainult tegumiriba, ilma et ekraanil oleks näha isegi akent.Üks hoiatus on see, et kui kasutate konsoolirežiimi programmi, mida paljud skriptitõlkijad kasutavad, ootab partiifail, kuni programm väljub ja kasutab
alustada
kudeb uue konsooli akna. Sellisel juhul peate konsooli baasil põhineva versiooni asemel kasutama tõlgi Windowsi-põhist versiooni - noalustada
vajalik. Perli jaoks sa jooksidwperl.exe
selle asemelperl.exe
. Pythoni jaoks on seepythonw.exe
selle asemelpython.exe
. Vana win32 Ruby jaotus, mille olen alla laadinud, onrubyw.exe
, mis peaks sama tegema.Lõplik võimalus on kasutada kolmanda osapoole tööriista käsurea käivitamiseks peidetud aknaga. Ma olen sellistest asjadest kuulnud, kuid ei ole neid kunagi kasutanud, nii et ma ei tea midagi eriti, et sind suunata.
Lugejad viitasid talle ka teisele SuperUser'i niidile, mis toob esile, kuidas kasutada Visual Basic Scripti, et minna kaugemale nähtavuse minimeerimisest ja otsest peitmist. Selles lõimes selgitab Harry MC:
Lahendus 1:
Salvestage see üks tekstirida failina
invisible.vbs
:CreateObject (“Wscript.Shell”). „Run” “” & WScript.Arguments (0) & „” ”, 0, vale
Mis tahes programmi või partiifaili nähtamatuks käivitamiseks kasutage seda nii:
wscript.exe “C: kus iganes invisible.vbs” “C: mõni muu koht MyBatchFile.bat”
Et edasi anda / edasi anda, kasutab argumentide loend ainult kahte kahekordset jutumärki
CreateObject (“Wscript.Shell”). „Run &“ ja WScript.Arguments (0) & „”, 0, vale
nt: Invisible.vbs “Kill.vbs ME.exe”
Lahendus 2:
Protsessi vaikseks käivitamiseks kasutage käsurea tööriista: vaikne.
Kasutades mõnda ülaltoodud lahendust, mis põhineb teie mugavuse tasemel VBS ja kolmanda osapoole tööriistade abil või mitte, vähendab see minimaalselt CMD akna nähtavust või eemaldab selle otse.
Kas teil on midagi lisada selgitusele? Hääletage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Vaadake siin täielikku arutelu lõiku.