Yritän tehdä DOS-ohjelmaa joka kopioisi kaikki tiedostot, joiden tiedostonimi sisältää tietyn tekstin, esim. xcopy *tiedosto* c:\kansio\. Onko tuota mahdollista tehdä niin, että aina kun ohjelman ajaa, niin se kysyy mitä tekstiä etsiä? Vai pitääkö se aina käydä muuttamassa tekstieditorissa?
"aina kun ohjelman ajaa" tarkoittaen mitä? Ajat komentoriviltä vai kuvakkeesta? Komentorivillä voit antaa argumenttina haettavan stringin. Ehkä parempi jos vain opiskelet netistä batch ominaisuuksia ja rajoitteita. http://www.ericphelps.com/batch/ tai googleen hauksi DOS batch
esim. xcopy %1* %2 tallenna .bat -tiedostoon ja laita johonkin PATH-ympäristömuuttujan kansioon, esim. %WINDIR% (eli yleensä C:\Windows) Käyttö komentoriviltä omabatti kissa d:\kansio -> batti ajaa komennon: xcopy kissa* d:\kansio On, mutta menee hankalaksi. esim. set kys1= set /p kys1=Kirjoita tiedoston alku ja paina ENTER: set kys2= set /p kys2=Kirjoita kansio ja paina ENTER: xcopy %kys1%* %kys2% Simppeli valikko siihen komentojonotiedostoon: :valikko1 echo Mihin rivi menee: echo A. Alku (Oletus) echo B. Keskellä echo C. Lopussa echo. echo Q. Poistu/Peruuta set valinta= set /p valinta=Kirjoita valintaa vastaava merkki ja paina ENTER: IF /I '%valinta%'=='a' GOTO alussa IF /I '%valinta%'=='b' GOTO keskella IF /I '%valinta%'=='c' GOTO lopussa IF /I '%valinta%'=='q' GOTO ENDNOW IF /I '%valinta%'=='' GOTO alussa ECHO "%valinta%" ei ole sallittu valinta, yritä uudelleen ECHO. PAUSE cls goto valikko1 Eiköhän noilla pääse alkuun. Jos ei, niin kannattaa tosiaan lueskella vähän aiheesta. EDIT: Oletan, että käytössä on normi winkkarin komentorivi/komentokehote. Eihän kukaan enää nykyään oikeata dossia käytä. Itselläni on useita pieniä batcheja sendto:ssa ja itse path-ympäristömuuttujassa, koska W7 ei tykkää mm. jos on liikaa tiedostoja yhdessä kansiossa. Komentokehote taas ei siitä välitä vaan tekee heti sen mitä käsketään sen enempää miettimättä asiaa.