Gå til innhold

Renanming av filer med bruk av variabler


Anbefalte innlegg

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
Videoannonse
Annonse

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
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 av Gouliat
Lenke til kommentar
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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...