» »

BAT file - Auto zaprtje DOS okna

BAT file - Auto zaprtje DOS okna

KontraCepec ::

Naredil sem x.bat file z vsebino:

Mount E: C:\Backup\Firefox
call E:\Firefox\Firefox.exe

Ko ta bat pozenem, se odpre Firefox, DOS okno pa ostane odprto vse dokler Firefoxa ne zaprem... to je nekako logično, če DOS ne pozna večnitnosti. Vendar me zanim, če se da to kako rešit. Da bi se okno zaprlo takoj po štartu Firefoxa oz. še bolje, da se sploh ne bi prikazalo.
Krijejtiv

Spajky ::

V lastnostih fajla nastavi start Minimized in Close on exit odkljukaj! 8-)
"Bluzim na forumu, torej sem !" (še živ ) ...

Zgodovina sprememb…

  • spremenilo: Spajky ()

misek ::

Ali pa v bat file dodaj klic Cmdow ali NirCMD, ki ti DOS okno skrije.

KontraCepec ::

Hmmm... jaz teh lastnosti za bat datoteko ne vidim. Samo pri exe datotekah lahko nastavljam tole.

Ja ta CMDOW dela zadovoljivo. Skrije okno, ki se najbrz potem ob koncanju Firefoxa tudi zapre.

Pa obstaja kak ukaz, ki bi okno pognal v novem procesu? Tako bi se bat najbrz sam zaprl...
Krijejtiv

Zgodovina sprememb…

misek ::

Malo poglej program AutoIt v3 - Automate and Script Windows Tasks. V bistvu gre za skriptni jezik, ki ti na koncu naredi tudi exe. Ti samo tisti dve vrtici pretvori v njegove ukaze, naredi exe in črnega DOS okna sploh ne bo.

ender ::

KontraCepec: call se uproablja samo za klicanje drugih .bat datotek, za exe datoteke ni potreben. Namesto tega lahko uporabiš start.

Za zaprtje okna, pa dodaj na konec datoteke ukaz cls.
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

StratOS ::

@ender
Start je za start aplikacije
cls pa za clearscreen v konzoli.

Ukaz za zaprtje iz konzole je exit
Za zaprtje aplikacije že aktivne pa taskkill. ( taskkill /? za help v konzoli)

En hitri primer za obe stvari :
@echo off
echo "Zagon"
start notepad.exe "C:\Program Files\Google\Google Earth\drivers.ini"
pause
echo "Zaprtje"
TASKKILL /F /IM notepad.exe
pause
exit


Za tvoj primer paketne bat datoteke

Mount E: C:\Backup\Firefox
start E:\Firefox\Firefox.exe
exit
"Multitasking - ability to f##k up several things at once."
"It works better if you plug it in."
"The one who is digging the hole for the other to fall in is allready in it."

Zgodovina sprememb…

  • spremenila: StratOS ()

ender ::

StratOS: batch datoteke pišem že 19 let, in točno vem kaj kakšen ukaz naredi. start požene ukaz asinhrono, tako da se batch datoteka izvaja naprej, cls pa ima stranski učinek, da se (če gre za zadnji ukaz v datoteki) okno v vsakem primeru zapre.
exit prekine izvajanje batch datoteke na mestu, kjer se nahaja, nima pa vpliva na zapiranje oken (čeprav je zaprtje okna lahko stranski učinek tega, da se je batch datoteka končala).
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

StratOS ::

Okno se vseeno zapre ob koncu bat datoteke ob externem zagonu in ne zagonu iz konzole.
Ukaz exit pa zapre okno ob klicu, tako da IMA vpliv na zapiranje okna, v tem pa cls nima nikakršnega vpliva na zaprtje okna, pa tudi če je tudi cls zadnji ukaz.
"Multitasking - ability to f##k up several things at once."
"It works better if you plug it in."
"The one who is digging the hole for the other to fall in is allready in it."

ender ::

Pozabljam, da NT-ji vedno zaprejo okno sami od sebe. 9x/ME so to naredili samo, če si ali označil "Zapri ob izhodu" v lastnostih datoteke, ali pa kot zadnji ukaz dal cls. exit na koncu datoteke ni bil nikoli potreben.
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[batch] Program obstane, če ga kličem in .bat

Oddelek: Programiranje
5837 (632) Roadkill
»

Kako restartat proces?

Oddelek: Programiranje
393453 (3005) k4vz0024
»

AT komande

Oddelek: Programska oprema
161805 (1326) noraguta
»

nekaj enostavnega za vsakdanjo rabo...

Oddelek: Programiranje
121874 (1391) milan0

Več podobnih tem