Gouliat Skrevet 29. januar 2009 Del Skrevet 29. januar 2009 Hei Lurer på om noen er dreven nok til å løse følgende programmeringsnøtt: I en gitt mappe ligger det x antall filer på formatet 01.XXXXXXXXXXXXXXAAXXX.XXX feks 12.OPL21AVIYYMMDD01G00.pdf Hvordan lager man ei bat fil som flytter de 2 første siffrene til AA og fjerner det første punktumet(XXXXXXXXXXXXXX01XXX.XXX)? Lenke til kommentar
geir__hk Skrevet 30. januar 2009 Del Skrevet 30. januar 2009 Hva med undermapper? Det du skal gjøre der krever at du skriver en VBS-fil som gjør jobben. En med VBS-fil kan du trikse og fikse med tekststrenger nermest så mye du vil. Tviler sterkt på at det lar seg gjøre med bat-fil, iallefall ikke uten å installere ekstraprogrammer for renaming av filer. Lenke til kommentar
aklla Skrevet 30. januar 2009 Del Skrevet 30. januar 2009 (endret) hvis det første punktummet alltid er nr 3 og AA alltid er plassert der er det ikke store jobben å lage i bat... men, gidder ikke mekke før du har svart på dette. Endret 30. januar 2009 av aklla Lenke til kommentar
Gouliat Skrevet 30. januar 2009 Forfatter Del Skrevet 30. januar 2009 (endret) hvis det første punktummet alltid er nr 3 og AA alltid er plassert der er det ikke store jobben å lage i bat... men, gidder ikke mekke før du har svart på dette. Det er helt korrekt.Første punktummet alltid er nr 3 og AA alltid er plassert der. Alltid samme mappe. Endret 30. januar 2009 av Gouliat Lenke til kommentar
aklla Skrevet 1. februar 2009 Del Skrevet 1. februar 2009 denne tar samtlige filer i mappen du legger det i, dir >> liste.txt for /f "delims=~" %%f in (liste.txt) do call :next "%%f" set fil= :next set fil="%~1" rename %fil% %fil:~3,14%%fil:~0,2%%fil:~19,7% Lenke til kommentar
Gouliat Skrevet 1. februar 2009 Forfatter Del Skrevet 1. februar 2009 denne tar samtlige filer i mappen du legger det i, dir >> liste.txt for /f "delims=~" %%f in (liste.txt) do call :next "%%f" set fil= :next set fil="%~1" rename %fil% %fil:~3,14%%fil:~0,2%%fil:~19,7% Får det ikke helt til å fungere med du er jo helt klart inne på noe. Dir må vel kjøres med \b slik at man kun får filnavn. Ellers så forvinner den siste bokstaven i extension og punktumet er der fortsatt. Det må vel legges en seksjon som sletter fila etter den er kjørt ellers så blir vel fila bare fylt opp etterhvert som denne kjøres(skal kjøres hver dag). Lenke til kommentar
aklla Skrevet 1. februar 2009 Del Skrevet 1. februar 2009 stemmer det. jeg la til en funksjon som ser etter ett . på 3. bokstav, så den ikke renamer alt som er i mappa der. har testet det(testet ikke det forrige), så det ser ut som om det funker bra dir /b > liste.txt for /f "delims=~" %%f in (liste.txt) do call :next %%f set fil= :next set fil=%1 if NOT "%fil:~2,1%"=="." goto end rename %fil% %fil:~3,14%%fil:~0,2%%fil:~19,7% :end Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå