Miten saan .bat:in vastaamaan .exe:n kysymyksiin?

Viestiketju Windows -ongelmat -osiossa. Ketjun avasi ibikingi 03.11.2009.

  1. ibikingi

    ibikingi Member

    Liittynyt:
    03.11.2009
    Viestejä:
    18
    Kiitokset:
    0
    Pisteet:
    11
    Eli on tuommoinen .exe tiedosto mihin pitää vastata kymmeniin kysymyksiin jonka jälkeen se muuntaa tiedostot eri muotoihin, eli miten voin "automatisoida prosessin" ja saada yhteen kysymykseen vastaamalla tuotoksen valmiiksi? ajattelin että .bat voisi toimia mutta tiedot loppui kesken.. :(
     
  2.  
  3. BforeDusk

    BforeDusk Senior member

    Liittynyt:
    15.09.2006
    Viestejä:
    6,570
    Kiitokset:
    7
    Pisteet:
    118
    Mikäli muistan oikein,
    niin ei onnistu.

    bat voi käynnistää exen (ja menee pauselle) ja kun exe on hommansa tehnyt, bat jatkaa seuraavaa komentoa.

    bat ei osaa kommunikoida exen kyselyihin

    Pitäis olla exe johon saat käynnistysparametreinä syötettyä ne, mitä se myöhemmin kyselee. Haluamasi vastaukset kysymyksiin.

    Tai semmoiseen luotua if-then-else tyyliin yhden batin joka kysyy ekana 'mihin muotoon muunnetaan' ja yhdellä vastauksella se sitten syöttelee exelle oikeat arvot parametreinä, niihin exen "let's play ten questions".
     
  4. ibikingi

    ibikingi Member

    Liittynyt:
    03.11.2009
    Viestejä:
    18
    Kiitokset:
    0
    Pisteet:
    11
    Vitun vittu.. :S mun pitää painaa 65näppäintä et saan yhen tiedoston muutettuu.. just laskin.. Kellään mtn muita ideoita?:O ei ota käynnistysparametrejä vastaan :S
     
  5. bfr

    bfr Regular member

    Liittynyt:
    10.08.2003
    Viestejä:
    130
    Kiitokset:
    0
    Pisteet:
    26
    Eikö ota pipelläkään komentoja?

    ECHO ON
    SET arg1=Y
    SET arg2=N
    SET arg3=5
    (ECHO %arg1%
    ECHO %arg2%
    ECHO %arg3%) | converter.exe

    jotenkin noin. Voit joutua hiukan pelaamaan noitten merkkien kanssa,
    esim. echo saattaa tarvita pisteen peräänsä
    echo. %parametri1% jne
     
    Viimeksi muokattu: 04.11.2009
  6. tukis

    tukis Guest

    Entä "<" -uudelleenohjauksella? (Redirection)

    ohjelma.exe < vastaus.txt
     
  7. yamaneko

    yamaneko Senior member

    Liittynyt:
    22.09.2005
    Viestejä:
    5,093
    Kiitokset:
    1
    Pisteet:
    118
    Ja jos hieman tarkemmin erittelisi mistä ohjelmasta ja mistä muunnoksesta on kysymys, niin tiedä mitä toimivia vastauksia voisikaan tulla...
     
  8. bfr

    bfr Regular member

    Liittynyt:
    10.08.2003
    Viestejä:
    130
    Kiitokset:
    0
    Pisteet:
    26
    Jos pipe(|) tai input(<) ei jostain syystä toimi(tosta <:sta en oo varma mutta | pitäisi ainakin toimia), niin erillisellä softalla sitten vaan:
    http://expect.nist.gov/#windows)
     
  9. ibikingi

    ibikingi Member

    Liittynyt:
    03.11.2009
    Viestejä:
    18
    Kiitokset:
    0
    Pisteet:
    11
    Tälläisellä koodilla:
    Koodi:
    ECHO ON
    ECHO xmin (kaksi nroa)?
    SET /P xmin=
    ECHO ymin (kaksi nroa)?
    SET /P ymin=
    SET arg1=5
    SET arg2=
    SET arg3=l
    SET arg4=%xmin%000 %ymin%000
    SET arg5=1000 1000
    SET arg6=ka1
    SET arg7=
    SET arg8=e
    SET arg9=1000
    SET arg10=xcity.pdl
    SET arg11=1
    SET arg12=
    SET arg13=
    SET arg14=0.2
    SET arg15=1.0
    SET arg16=
    SET arg17=k
    SET arg18=%xmin%%ymin%
    SET arg19=4
    SET arg20=0
    SET arg21=0.2
    SET arg22=e
    SET arg23=
    SET arg24=
    SET arg25=
    (ECHO %arg1%
    ECHO %arg2%
    ECHO %arg3%
    ECHO %arg4%
    ECHO %arg5%
    ECHO %arg6%
    ECHO %arg7%
    ECHO %arg8%
    ECHO %arg9%
    ECHO %arg10%
    ECHO %arg11%
    ECHO %arg12%
    ECHO %arg13%
    ECHO %arg14%
    ECHO %arg15%
    ECHO %arg16%
    ECHO %arg17%
    ECHO %arg18%
    ECHO %arg19%
    ECHO %arg20%
    ECHO %arg21%
    ECHO %arg22%
    ECHO %arg23%
    ECHO %arg24%
    ECHO %arg25%) | \\compaq8\Tekla\Xcity\Main\Bin\XcityKlpi.exe
    Valitsee oikein 5:tosen, mutta ei tajua että tyhjässä pitää painaa entteriä ja jumittaa kakkoskohtaan ja toistaa vaan, että:
    Suunnitelman nimi <oletus <ret> = ei>: Suunnitelmaa ei ole olemassa!
    Apuaaa, mikä on entterin komento vai mitääää määä teen?;(((((
     
  10. ibikingi

    ibikingi Member

    Liittynyt:
    03.11.2009
    Viestejä:
    18
    Kiitokset:
    0
    Pisteet:
    11
    Ohjelma on Xcity:n apuohjelma XcityKlpi ja muuntaa osan kartasta .jpeg muotoon joka mm valitaan kyseisessä ohjelmassa..
     
  11. bfr

    bfr Regular member

    Liittynyt:
    10.08.2003
    Viestejä:
    130
    Kiitokset:
    0
    Pisteet:
    26
    Toimiiko kuitenkin jos annat sille jonkun arvon? Jos nyt oikein ymmärsin niin pelkkä enter antaa defaultin, joka tässä tapauksessa on ilmeisesti "ei". Joten mikset vain pistä tuohon tyhjän tilalle "ei"?

    Edit:
    Tuli mieleen, että onko kyseessä varmasti dos vai windowsin command prompt?
    Jos jälkimmäinen, kokeile tätä:

    Klikkaa oikealla my computer -> properties -> advanced tabi -> enviroment variables
    pistä variablen nimeksi esim. CR tai mitä ikinä.
    Laita numlock päälle, mene value kenttään,
    ja kirjoita numpadilla ALT pohjassa 10. (eli alt - 1 - 0)
    merkiksi pitäisi tulla laatikko.
    klikkaa ok.

    Nyt voit .batissa kutsua tuota merkkiä: %CR%, jonka pitäisi olla carriage return eli enterin painallus. Lukeeko bat sen tässä tapauksessa vain rivinvaihdoksi tuon setin jälkeen vai asettaako se tuon muuttujalle arvoksi, en ole varma, mutta kokeile.


    edit2:
    Jos ei onnistu, kokeile laittaa %CR% heittomerkkeihin, eli "%CR%"

    edit3:
    Sori edittien määrä, kirjottelen sitä mukaa kun tulee mieleen.

    luultavasti paras ratkaisu:
    Kokeile vaihtaa tuo "echo %arg2% -> echo. eli echo piste ilman välilyöntiä ja ilman tuota argumenttia.

    Vaihtoehtoisesti echo %cr% jos sait tuon variablen asetettua.
     
    Viimeksi muokattu: 05.11.2009
  12. ibikingi

    ibikingi Member

    Liittynyt:
    03.11.2009
    Viestejä:
    18
    Kiitokset:
    0
    Pisteet:
    11
    kokeiltu on ei eikä muut sellaiset toimi :S kokeilin tuota %cr% hommaa eikä sekään toiminut :S eikä echo. toiminut ;(
     
  13. bfr

    bfr Regular member

    Liittynyt:
    10.08.2003
    Viestejä:
    130
    Kiitokset:
    0
    Pisteet:
    26
    Vastaako se kuitenkin "ei" siihen tokaan vai mitä?
    Eli lähinnä näyttääkö siltä ettei ensimmäisen argumentin jälkeen
    tieto mene enää läpi? Vai käykö se noi kaikk argumentit kuitenkin läpi?

    Voisitko copy pastea palan siitä ohjelman outputista?
     
    Viimeksi muokattu: 05.11.2009
  14. ibikingi

    ibikingi Member

    Liittynyt:
    03.11.2009
    Viestejä:
    18
    Kiitokset:
    0
    Pisteet:
    11
    Käy kaikki argumentit läpi ja
    Suunnitelman nimi <oletus <ret> = ei>: Suunnitelmaa ei ole olemassa! tulee 24 kertaa ja sen jälkeen vielä kerran
    Suunnitelman nimi <oletus <ret> = ei>:
    ja sitten .bat lopettaa
     
  15. ibikingi

    ibikingi Member

    Liittynyt:
    03.11.2009
    Viestejä:
    18
    Kiitokset:
    0
    Pisteet:
    11
    Koodi:
    C:\Temp>xcityklpi.bat
    
    C:\Temp>ECHO ON
    
    C:\Temp>ECHO xmin (kaksi nroa)?
    xmin (kaksi nroa)?
    
    C:\Temp>SET /P xmin=
    38
    
    C:\Temp>ECHO ymin (kaksi nroa)?
    ymin (kaksi nroa)?
    
    C:\Temp>SET /P ymin=
    44
    
    C:\Temp>SET arg1=5
    
    C:\Temp>SET arg2=jou.txt
    
    C:\Temp>SET arg3=l
    
    C:\Temp>SET arg4=38000 44000
    
    C:\Temp>SET arg5=1000 1000
    
    C:\Temp>SET arg6=ka1
    
    C:\Temp>SET arg7=
    
    C:\Temp>SET arg8=e
    
    C:\Temp>SET arg9=1000
    
    C:\Temp>SET arg10=xcity.pdl
    
    C:\Temp>SET arg11=1
    
    C:\Temp>SET arg12=
    
    C:\Temp>SET arg13=
    
    C:\Temp>SET arg14=0.2
    
    C:\Temp>SET arg15=1.0
    
    C:\Temp>SET arg16=
    
    C:\Temp>SET arg17=k
    
    C:\Temp>SET arg18=3844
    
    C:\Temp>SET arg19=4
    
    C:\Temp>SET arg20=0
    
    C:\Temp>SET arg21=0.2
    
    C:\Temp>SET arg22=e
    
    C:\Temp>SET arg23=
    
    C:\Temp>SET arg24=
    
    C:\Temp>SET arg25=
    
    C:\Temp>(
    ECHO 5
     ECHO jou.txt
     ECHO l
     ECHO 38000 44000
     ECHO 1000 1000
     ECHO ka1
     ECHO
     ECHO e
     ECHO 1000
     ECHO xcity.pdl
     ECHO 1
     ECHO
     ECHO
     ECHO 0.2
     ECHO 1.0
     ECHO
     ECHO k
     ECHO 3844
     ECHO 4
     ECHO 0
     ECHO 0.2
     ECHO e
     ECHO
     ECHO
     ECHO
    )  | \\compaq8\Tekla\Xcity\Main\Bin\XcityKlpi.exe
            Xcity V6.40-01 (23.1.2009) / Tekla Oyj
    
    
            1. Karttatulosteen tulostaminen
            2. Karttatulosteen tulostaminen sijoittelumallista
            3. Kartan piirtäminen DIP-tiedostoon
            4. Kartan piirtäminen taustakuvaksi (SYM)
            5. Kartan piirtäminen rasterikuvatiedostoon koordinaattimuunnoksella
            0. Lopetus
    
            Numero:
    
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):  Suunnitelmaa ei ole olemassa!
            Suunnitelman nimi (oletus <ret> = ei):
    C:\Temp>
     
  16. bfr

    bfr Regular member

    Liittynyt:
    10.08.2003
    Viestejä:
    130
    Kiitokset:
    0
    Pisteet:
    26
    se siis valittaa että suunitelmaa jou.txt ei ole olemassa. Sellainen siis kuitenkin on olemassa?

    Mitä tapahtuu jos tuon ECHO jou.txt:n tilalla on ECHO. ? Suunnitelmaa ei ole olemassa?

    Kokeile ottaa kaikki echot pois lukuunottamatta kahta ensimmäistä, mitä silloin tapahtuu?

    edit:
    Eli jos siis käynnistät tuon exen käsin ilman tuota battia ja syötät tuohon suunnitelmakohtaan "jou.txt" niin sekö toimii?
     
    Viimeksi muokattu: 05.11.2009
  17. ibikingi

    ibikingi Member

    Liittynyt:
    03.11.2009
    Viestejä:
    18
    Kiitokset:
    0
    Pisteet:
    11
    ei toiminut tyhjänä eikä niin että laittoi siihen "linkin" tekstitiedostoon jossa oli rivinvaihto, ei toiminut. ja käsin ei jatka muulla kuin entterillä. evho. ei toimi. aamulla 2h tein sitten batin joka kysyy 4nroa ja avaa sen jälkeen tekstitiedoston jossa on vastaukset kaikkiin 200 vaihtoehtoon,eli
    Koodi:
    cd C:\temp
    ECHO aluenro (4nroa)=
    SET /P xymin=
    \\compaq8\Tekla\Xcity\Main\Bin\XcityKlpi.exe <\\compaq8\Tekla\Xcity\Main\Bin\files\%xymin%.txt
    Suurkiitos kaikille =)
     

Jaa tämä sivu