» »

Batch rename - imena iz txt dokumenta

Batch rename - imena iz txt dokumenta

Shkorc ::

Lep pozdrav!

Imam sledeč problem:

Imam 600 slik, ki so poimenovane po neki kodi, vsaka slika ima svojo kodo (e.g. 35498754_.jpg).
Potem imam nek txt/xls fajl, kjer imam napisano kodo in ime nekega artikla (e.g. 35498754 Kemični_svinčnik)
Podatke lahko hitro premečem v ustrezno obliko, potrebno za preimenovanje.

Zanima me, če je možno množično preimenovati slike tako, da se za kodo v imenu slike doda ustrezen naziv artikla (e.g. 35498754_Kemični_svinčnik.jpg) in kako bi se to naredilo? V txt fajlu bi bilo potrebno najti kodo, ki ustreza imenu slike in dodati imenu slike še naziv artikla - konkatenirat.

Hvala za odgovore!

Gundolf ::

Se mi zdi, da bo tole malo preveč za batch.

Shkorc ::

Verjetno da res. Kaka perl skripta bi bila verjetno optimalna, vseeno sem našel TALE zastonj program, ki je opravil željeno delo.

Hvala vseeno. LP

Jean-Paul ::

No, kljub temu, da si se že znašel po svoje, sem zgolj v "pedagoške" namene sestavil skripto, ki je bolj "proof-of-concept", da se da takšen problem rešiti tudi v batch-u; hkrati priznavam, da za to obstajajo boljša orodja.

Spodnjo vrstico (pazi, vse je v eni vrstici) shraniš kot .bat file (npr. rename.bat)
@FOR /F "tokens=1,2" %%i in (seznam.txt) do IF EXIST %%i_.jpg @echo %%i %%j & @echo ren %%i_.jpg %%i_%%j.jpg

(opomba: za delovanje te for zanke mora biti omogočena nastavitev "Command Exstensions", kar je verjetno bolj ali manj privzeta nastavitev)

V datoteki seznam.txt imaš seznam parov koda-opis. Npr.:

35498754 Kemicni_svincnik
35498755 Nalivno_Pero

Ko poženeš skript, ti bo le ta vse obstoječe datoteke koda_.jpg preimenoval v koda_opis.jpg. Še prej moraš seveda (ko vidiš, da se zgodi to, kar si želel) odstraniti tisti @echo pred ukazom ren v batch skriptu.

Sem pogledal link, na katerem je program, ki si ga ti uporabil za rešitev tvojega problema. Zanimivo se mi zdi, kaj vse "izumijo" ljudje za reševanje zelo enostavnih problemov. V okoljih, kjer je ukazna vrstica močnejše orodje kot v Windowsih, se takšne stvari stresejo iz rokava kot za šalo. Za kaj takega se ponavadi sploh ne gre pisati posebnega (batch) programa, ampak se zadeva uredi kar iz ukazne vrstice (t.i. one-liner oz. throw-away program).

LP


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

program za pomoč pri tiskanju 200+pdf dokumentov

Oddelek: Pomoč in nasveti
252281 (1333) HotBurek
»

Program za izpis vseh datotek v mapah

Oddelek: Programska oprema
51096 (963) konspirator
»

BASH skripta za ustvarjanje uporabnikov

Oddelek: Programiranje
71058 (827) golobich
»

Ime Priimek v Ime_Priimek (strani: 1 2 )

Oddelek: Programska oprema
554973 (3933) Doman
»

Rabim program, ne vem pa če obstaja?

Oddelek: Programska oprema
101867 (1643) CaqKa

Več podobnih tem