Vai es varu palaist Windows partijas failu bez redzamas komandas uzvednes?
Sērijveida faili ir ērts veids, kā Windows izpildīt virkni komandu, bet vai ir iespējams tos palaist neredzami fonā? Lasiet tālāk, lai uzzinātu, kā.
Šodienas jautājumu un atbilžu sesija mums dod pieklājību no SuperUser-Stack Exchange apakšnodaļas, kas ir kopienas orientēta Q & A tīmekļa vietņu grupa.
Jautājums
SuperUser lasītājs Jake vēlas neizmantot BAT failu, viņš raksta:
Man ir instalēta rubīna dārgakmens ar nosaukumu Redcar, kas tiek palaista no komandrindas. Kad tas darbojas, tas nozog čaulu, līdz tas beidzas, tāpēc man ir jāizveido jauns čaulas logs, lai turpinātu komandrindas darbu. Apvalks, ko es izmantoju, ir MySysGit GITBash apvalks.
Es atklāju Redcar.bat failu, kas paredzēts, lai palaistu Redcar kā īsceļu, es domāju, bet es nevēlos, lai papildu komandu uzvednes logs tiktu atvērts, kad es sāku LPTP failu.
Kā es varu vienkārši izmantot LPTP, neredzot uzvedni?
Vai ir Jake slepenas ātras vēlmes risinājums?
Atbildes
SuperUser ziedotājs Afrazier atbild ar sliktu un labu ziņu kombināciju:
Jūs nevarat - izpildot partijas failu ar iebūvēto komandu uzvedni, tiks atvērts logs, līdz partijas fails iziet.
Kas tu var darīt, ir veikt pasākumus, lai pārliecinātos, ka partijas fails iziet pēc iespējas ātrāk. Ja tas ir iespējams, modificējiet partijas failu, lai palaistu jebkuru programmu ar
sākt
komandu. Pēc noklusējuma,sākt
nekavējoties atgriežas, negaidot programmas iziešanu, tāpēc partijas fails turpinās darboties un, iespējams, nekavējoties iziet. Pāris, lai mainītu īsceļu, lai palaistu sērijveida failu minimizētu, un uzdevumjoslas redzēsit tikai tad, ja ekrānā netiks redzams logs.Viens no iebildumiem ir tas, ka, ja izmantojat konsoles režīma programmu, kuru daudzi skriptu tulki ir, partijas fails gaidīs, līdz programma pārtrauks un izmantos
sākt
radīs jaunu konsoles logu. Šajā gadījumā jums ir jādarbojas tulka Windows versijai, nevis konsole.sākt
nepieciešams. Par Perlu jūs darbotoswperl.exe
tā vietāperl.exe
. Python, tas irpythonw.exe
tā vietāpython.exe
. Vecais win32 Ruby sadalījums, kuru esmu lejupielādējis, irrubyw.exe
, kam vajadzētu darīt to pašu.Pēdējā iespēja ir izmantot trešās puses rīku, lai palaist komandu uzvedni ar slēptu logu. Es esmu dzirdējis par šādām lietām, bet nekad nav bijis to izmantošanai, tāpēc es nezinu neko īpaši, lai norādītu uz jums.
Lasītāji arī norādīja uz citu SuperUser pavedienu, kas izceļ, kā jūs varat izmantot Visual Basic Script, lai pārsniegtu redzamības samazināšanu un tieši slēptu CMD uzvedni. Šajā pavedienā Harijs MC paskaidro:
1. risinājums:
Saglabājiet vienu teksta rindiņu kā failu
invisible.vbs
:CreateObject (“Wscript.Shell”). Izpildiet “” ”& WScript.Arguments (0) &“ ””, 0, False
Lai neredzami palaist kādu programmu vai partijas failu, izmantojiet to šādi:
wscript.exe “C: kur invisible.vbs” “C: kāda cita vieta MyBatchFile.bat”
Lai varētu arī nodot tālāk / pārraidīt argumentu sarakstu, izmanto tikai divas dubultās pēdiņas
CreateObject (“Wscript.Shell”). Run “” & WScript.Arguments (0) & “”, 0, False
piemēram: Invisible.vbs “Kill.vbs ME.exe”
2. risinājums:
Izmantojiet komandrindas rīku, lai klusi uzsāktu procesu: Kluss.
Izmantojot jebkuru no iepriekš minētajiem risinājumiem, balstoties uz jūsu komforta līmeni, izmantojot VBS un trešās puses rīkus vai ne, tas minimāli samazinās CMD loga redzamību vai tieši noņem to.
Vai kaut kas jāpievieno paskaidrojumam? Skaņas izslēgšana komentāros. Vai vēlaties lasīt vairāk atbildes no citiem tehnoloģiju gudriem Stack Exchange lietotājiem? Apskatiet pilnu diskusiju pavedienu šeit.