Gå til innhold

Rename filer + sortere de etter feks dato!


Anbefalte innlegg

hei alle sammen... jeg lurer på om det er mulig å lage en bat fil som kan feks rename alle bildene i bildemappen min og sortetere de etter dato de ble opprettet...

feks jeg har 5 bilder

klsalkd.jpg
asdasd.jpg
asdds.jpg
asddas.jpg
lllsls.jpg

og jeg vil rename til til

1.jpg
2.jpg
3.jpg
4.jpg
5.jpg

hvor 1 er den som ble opprette føtst og 5 sist!



er dette mulig med bat eller må jeg gå over til programering?


takker for all hjelp, hilsen Atle

Endret av treeHugger123
Lenke til kommentar
Videoannonse
Annonse

litt værre enn jeg trodde.

regningen kommer i posten om 2 uker, her er det:

 

set nummer=
set fil=
del filliste.txt
dir /o:d /b >> filliste.txt

for /f "delims=~" %%f in (filliste.txt) do call :next "%%f"
set nummer=
set fil=
:next
set fil="%~1"
rename %fil% %nummer%.*
set /a nummer=%nummer%+1

 

edit: den funker nå i mappen den ligger i, regner med at du mekker det slik at det funker i mappen du skal kjøre det mot.

det renamer seg selv hvis du legger det i samme mappe.

er usikker på hva som skjer hvis filen heter xx.yy.zz (med punktum i navnet).

Endret av aklla
Lenke til kommentar
Wow.. For en stund siden spurte jeg hvorfor vi trengte bat når vi har vbscript, men jeg tror ikke jeg hadde klart å lage en like bra løsning med så lite vbscriptkode. Skills :)

 

VB script hadde kanskje vært en "bedre" løsning, det er litt med avansert enn bat, og har kanskje noe mer funskjoner rettet mot slikt.

trikset med bat er å alltid lure det slik du vil ha det, ofte er det ingen løsning som er rettet mot det man faktisk skal ha, men veldig ofte kan man kokkelure det til, slik jeg gjorde her.

 

bare synd jeg ikke får jobb som bat-scripter :p

har for (u)vane å starte med enkle språk, for så jobbe en del med det og resultatet ser du her.

"unyttig" kunnskap jeg ikke kommer noen vei med, startet på c++, men følte jeg ikke kom noen vei etter at jeg startet med 3D-koding.

 

tok meg forresten 10 minutter å lage det, inkl testing.

Lenke til kommentar

Er ikke meningen å mase, men det lønner seg faktisk å bruke cygwin (linuxshell til windows), da blir det ikke verre enn:

num=1; ls -t | while read fil; do mv "$fil" "$i.jpg"; (( num++ )); done

 

edit: oops, den sorterer etter filer som ble sist modifisert, ikke først lagret. Linux lagrer ikke creation time, bare modification time. Så hvis det er viktig var det kanskje like greit å bruke en .bat-fil :)

Endret av teflonpanne
Lenke til kommentar

Vel den er jo mye kortere og enklere å skrive da, det er jo vanligvis det man er ute etter. Unixshellene (og alle de små utilitiesene/verktøyene/programmene) har blitt utviklet leeeenge av programmerere for programmerere, de er utrolig mye kraftigere enn windowshellet og derfor kan man skrive (mye) mer kompliserte script enklere og på mindre tid, det er vel hovedfordelen.

Lenke til kommentar

men så må man installere noe for å få det til å funke også da.

det er en ganske stor bakdel mener jeg ihvertfall.

 

men, bat er ikke akkurat det kraftigste nei, så ditt program litt bedre, men det er utrolig greit at man slipper å installere noe.

bat er godt til sitt bruk, og funker det det meste rutinemessig på windows.

Endret av aklla
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...