Dávkový soubor - spustí program se zadaným parametrem? – OS - Windows – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Dávkový soubor - spustí program se zadaným parametrem? – OS - Windows – Fórum – Programujte.comDávkový soubor - spustí program se zadaným parametrem? – OS - Windows – Fórum – Programujte.com

 

Petey0
Duch
17. 12. 2011   #1
-
0
-

Ahoj,
potřeboval bych vytvořit dávkový soubor (.bat), který mi spustí program napsaný v C (main.exe) se zadanými parametry.
Parametrem bude pouze číslo. Potřeboval bych, aby dávkový soubor proběhl jako klasický program.

Díky

Nahlásit jako SPAM
IP: 77.78.82.–
KIIV
~ Moderátor
+43
God of flame
17. 12. 2011   #2
-
0
-

Mame otevrit notepad za tebe a napsat ti to? Ci je nejaka zaludnost v tom "jako klasicky program"?

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Petey0
Duch
18. 12. 2011   #3
-
0
-

Žádná záludnost v tom není, takže jen otevřít a napsat :)

Nahlásit jako SPAM
IP: 77.78.82.–
KIIV
~ Moderátor
+43
God of flame
18. 12. 2011   #4
-
0
-

tim spis nejak vubec nechapu proc sem pises...

spustis treba notepad, vytvoris soubor "neco.bat"

a do nej napises:  muj_program.exe parametr1 parametr2 ........... parametrN

pak uz jen ulozit a mas to hotove

takovy triviality jde resit i z prikazovy radky:    echo "muj_program.exe parametr1 parametr2" >neco.bat

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Petey0
Duch
18. 12. 2011   #5
-
0
-

S tímhle nemám zkušenosti.
První část by fungovala, ale pak už je problém s parametrem. V programu je brán přes scanf.

Nahlásit jako SPAM
IP: 77.78.82.–
KIIV
~ Moderátor
+43
God of flame
18. 12. 2011   #6
-
+1
-
Zajímavé

uzasne...

tak jeste jeden soubor:   input.txt   a pak do batu:     muj_program.exe <input.txt

ale jestli tam mas nesmysly co ti drzi program otevrenej (napriklad vychytavky typu: system("pause"); tak se s tim rovnou muzes rozloucit protoze to nikdy neskonci)

nebo to proste predelej aby to sezralo i parametry z prikazovky... jinak je ten program naprosto nepouzitelnej na jakykoliv rozumny scriptovani

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Pudni tvor+2
Stálý člen
22. 12. 2011   #7
-
0
-

Uvnitř dávkových souborů se k parametrům se kterými
je dávkový soubor spouštěn přistupuje prostřednictvím
%0..%9 přičemž parametr %0 obsahuje jméno dávkového
souboru a %1..%9 obsahují parametry z příkazové řádky

např máme v dávkovém souboru spust.bat:

program.exe %1

kdyz se zavola: spust.bat ahoj
tak to vykona: program.exe ahoj

V dávkových souborech se dají delat i slozitejsí
veci např podmínky, větvení a cykly.

Více o možnostech dávkových souborů najdete třeba tady:
http://www.spsemoh.cz/…os/batch.htm
http://fpf.slu.cz/…skripty.html

Nahlásit jako SPAM
IP: 193.138.153.–
Petey0
Duch
27. 12. 2011   #8
-
0
-

#6 KIIV
Jo, tohle projede celý program, ale zdá se, že to nebere parametr.

Nahlásit jako SPAM
IP: 77.78.82.–
KIIV
~ Moderátor
+43
God of flame
27. 12. 2011   #9
-
0
-

neexistuje - bud nevis co to parametr je nebo nevis co to je... (teoreticky tam muzes mit kraviny jako flush buffer na stdin - nebo jinou chybu)

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Petey0
Duch
2. 1. 2012   #10
-
0
-

Věřím tomu, že spíš nevím. 
Zkusím to jinak - Když zapnu program, zeptá se mě, abych zadal číslo. Číslo zadám, např. 8. Vygeneruje mi rozpis pro 8 členů a zapíše ho do souboru rozpis.txt.
Pokud je to nějak možné, tak by se .bat soubor měl jmenovat například - rozpis4.bat a po spuštění by automaticky projel program s číslem 4 a vygeneroval rozpis pro 4 členy.

Možná to takhle bude lepší, možná je to pořád ten samý problém a možná jsem to také mohl napsat na začátku.

Díky za odpovědi

Nahlásit jako SPAM
IP: 147.230.159.–
KIIV
~ Moderátor
+43
God of flame
2. 1. 2012   #11
-
0
-

no v civilizovanem svete se to dela asi nasledovne:

zkontrolujes pocet parametru z prikazoveho radku

pokud nejsou zadany (nebo neni zadan) tak se zepta nebo pouzije defaultni hodnotu... 

tj spustis:    program.exe 59 soubor.txt

-> vygeneruje do souboru soubor.txt neco s parametrem 59 (je jedno co uz s tim budes vlastne delat)

nebo spustis:   program.exe 22

-> vygeneruje dejme tomu do souboru default.txt neco s parametrem 22

spustis:  program.exe

zepta se te na parametry/parametr co chces pouzit....

(pokud mozno nepouzivat zadny kraviny jako  cekani na stisk klavesy!!! pak se to NEDA pouzit ze scriptu)

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý