Auttakaapas joku aloittelijaa. Miten saan tämän komentojonon muutettu vastaamaan linukan shell scriptiä echo off @echo COPY for /r %%a in (.) do ( @echo %%~na cd "%%a" if not exist song.ogg copy guitar.ogg song.ogg ) cd.. @echo END COPY eli siis tuohan tarkistaa kaikki alihakemistot ja jos siellä ei ole song.ogg tiedostoa kopioidaan guitar.ogg tiedosto song.ogg:iksi. Omat taidot taidot loppu siihen että pitäisi tarkistaa ensin onko song.ogg tiedostoa olemassa. Kiitokset etukäteen jos joku vaivautuu.
Eli siis guitar.ogg on aina siinä kansiossa mihin song.ogg halutaan vai löytyykö se juuresta tai muualta? No jokatapauksessa omat bash taidot on ruosteessa mutta koitetaanpa. #!/bin/bash ALL_SUB_DIRS=`find . -type d` EXEC_DIR=`pwd` for dir in $ALL_SUB_DIRS do cd $dir if [[ ! -f song.ogg ]] then cp guitar.ogg song.ogg fi cd $EXEC_DIR done Ei mitään hajua että toimiiko edes mutta toivonmukaan auttaa edes jonkiverran.
Kiitokset kovasti, pääsin tuolla hyvään alkuun. En ole aikasemmin tehnyt mitään bash scriptiä ja tuosta ja parista sivusta oli apua loppukädessä selviydyin tällä: find . -type d | grep -e "[:alnum:]" | while read i ; do d=`echo -n "$i"`; if [[ ! -f "$d"/song.ogg ]]; then cp "$d"/guitar.ogg "$d"/song.ogg | echo Working at $d; else echo Already found from $d; fi; done eikä välitä vaikka olisi valilyöntejä hakemiston nimessä. Jos jotakuta muuta FretsOnFire harrastajaa vaivaa sama ongelma linukassa, eli hakemistoissa on vain guitar.ogg tiedostot eli musiikki loppuu kokonaan jos soittaa väärin, niin tämä korjaa.