Avatar uživatele
bolak

Jak upravit dávkový soubor aby fungoval jak chci?

Mám dávkový soubor ve kterém je tento text:

„taskkill /f /IM explorer.exe > NUL
hra.exe
start /B explorer.exe“

Tenhle dávkový soubor vypne proces explorer.exe, takže zmizí lišta a ty ostatní blbiny, a následně spustí hru. Po skončení (vypnutí) hry opět spustí explorer.exe a vrátí systém do normálu.

A já potřebuju upravit, potřebuju vložit na začátek dávkového souboru „chat.exe“, aby mi ještě před tou hrou spustil ze souboru ve složce chat, jenomže když to takhle napíšu, tak mi to nefunguje. Spustí mi to chat a dál se nic neděje. V případě že už mám chat spuštěnej, tak to ale naběhne normálně. Nejspíš nerozumím těm předchozím příkazům a tak nevím jak to dát dokupy, pomohl by mi s tím někdo?

Nejlépe to udělat tak, aby se nejdřív spustil chat, a cca 5 vteřin po tom by se vypnul explorer.exe a spustila ona hra. Po skončení hry by se pak explorer.exe zase zapnul, a chat by zůstal i nadále otevřený. V případě že by už chat během spuštění dávkového souboru spuštěný byl, tak ho to nemusí spouštět znova, ale možná to nevadí když ho to spustí ještě jednou, je možný že to Windows bude ignorovat, tím si nejsem jistej, každopádně pokud chat bude už spuštěněj, tak opět: vypnout explorer.exe, zapnout hru, po skončení hry zapnout explorer. Toť vše.

Zajímavá 0 před 4055 dny Sledovat Nahlásit



Odpovědi
Avatar uživatele
lukas.zmizik

zkoušel si to takto:

taskkill /f /IM explorer.exe > NUL
chat.exe
hra.exe
start /B explorer.exe"
exit
_________________
a pokud to nepomůže, pak spustit chat.exe trocha jinak:
start chat.exe
taskkill /f /IM explorer.exe > NUL
hra.exe
start /B explorer.exe"
exit

0 Nominace Nahlásit


Avatar uživatele
Arne1

Zkus ten „chat.exe“ spustit přes příkaz START.

A pokud ti jde jenom o tu lištu, tak ta se přece dá schovat automaticky nastavením Windows.

0 Nominace Nahlásit


Diskuze k otázce
Avatar uživatele
bolak

lukas.zmizik: No, já tam hlavně potřebuju tu pauzu, aby po tom co se spustí chat se ještě chvíli čekalo, než se spustí hra.

Jinak ten první způsob taky nejde, je to jak jsem psal prve, spustí se chat a dál se nic neděje. Ten druhej způsob funguje (i když nechápu jak je to možný, jakou funkci tam má to „start“ a jakej je v tom rozdíl) ale pořád tam chybí to několikasekundový zpoždění, mezi startem chatu a startem hry. Příkaz „exit“ jsem vypustil, příde mi tam zbytečnej.

před 4055 dny Odpovědět Nahlásit
Avatar uživatele
lukas.zmizik

příkaz exit bych tam nechal v zájmu dodržování pravidel, má tam tu funkci, že ukončí okno terminálu…

to start „chat.exe“ znamená, že se program spustí v novém okně případně terminálu a dávka si jeho provádění dále nevšímá a běží dál, jinak když to napíšeš bez toho „start“, tak dávka by pokračovala až po ukončení programu chat.exe teprve

problém je, že u verze windows xp profi a win vista, 7 už nejde použít příkaz sleep jako pauzu kterou můžu definovat nějakým časem.

napadají mne dvě možnosti:
start chat.exe
pause
taskkill /f /IM explorer.exe > NUL
hra.exe
start /B explorer.exe"
exit

a udělá to tohle: spustí chat.exe a pak se oběví hláška „Pokračujte stisknutím libovolné klávesy…“ a ty počkáš pět vteřin a pojede se dál

Druhá možnost je vzít nějaký programovací jazyk a vytvořit alternativu k programu sleep anebo najít něco takového na netu, tedy externí prográmek, který neumí nic jiného než jenom udělat tu pauzu s pěti vteřinama…

před 4055 dny Odpovědět Nahlásit
Avatar uživatele
bolak

Nó, RedC22 mi tudle dělal nějakej dávkovej soubor, kterej mi ukládal každejch 60 vteřin stránku na disk, a používal tam -w 60000 (zřejmě jako wait a číslo v milisekundách), ale zkoušel jsem to nějak nacpat do týhle dávky a nějak to nezabralo :), tak nevim. Ale když to fungovalo předtím, tak by to mělo fungovat i na tohle, nebo je v tom nějakej zásadní rozdíl?

před 4055 dny Odpovědět Nahlásit
Avatar uživatele
lukas.zmizik

to jo, ale né každý příkaz umí parametr podobný tomu -w 60000 …možná se pletu ale já to nikde nenašel

před 4055 dny Odpovědět Nahlásit
Nový příspěvek
Zajímavé otázky v kategorii Počítače a internet