Tänkte bara dela med mig av min upptäckt och att skriva ner här ifall jag tappar bort denna viktiga kunskap. Får väl lägga in motsvarande i bash (under t.ex. Linux): ska det inte vara:Batchskriptkunskap
För dig som skrapat lite på ytan av batchskript så kan jag tänka mig att du lärt dig göra enkla kopieringar som annars skulle vara tidsödlande. Så småningom hamnar man vid en punkt när man behöver göra flera saker i varje katalog.
För dig som programmerar så känner du säkert till funktioner och i funktionskroppen gör du flera olika operationer. En funktionskropp c/csharp/java/javascript m.m är måsvingetecken { } men i ett batch skript är en "funktionskropp" paranteser istället.
För att göra något för varje katalog eller fil så använder man for-kommandot. För att göra något för varje katalog så lägger man till flaggan /D efter for-kommandot. När man skriver for-kommandot i ett eget skript så använder man två procenttecken %% i variabelnamnet vilket man oftast missar när man tittar i hjälpen för att där använder de ett procenttecken. Ett %-tecken används när man använder kommandoprompten manuellt.
Nu avslutar jag detta med ett skript som i varje mapp hoppar in och skapar katalogen 'pelle' och hoppar sedan ut. Jag använder pause så att inte fönsteret stängs då jag dubbelclickat på batchfilen. Var försiktig när du kör denna då det kan vara lite jobbigt att ta bort pellemapparna om du inte riktigt vet vad som händer.
-------------------------------------
for /D %%i IN (*.*) DO (
cd "%%i"
md pelle
cd..
)
pause
------------------------------------Sv: Batchskriptkunskap
for f in *.*; do
[ -d $f ] && mkdir $f/pelle
doneSv:Batchskriptkunskap
for f in *; do
[ -d $f ] && mkdir $f/pelle
done
dvs bara en stjärna?