Forum » Programiranje » 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!
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!
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
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
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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | program za pomoč pri tiskanju 200+pdf dokumentovOddelek: Pomoč in nasveti | 2303 (1355) | HotBurek |
» | Program za izpis vseh datotek v mapahOddelek: Programska oprema | 1113 (980) | konspirator |
» | BASH skripta za ustvarjanje uporabnikovOddelek: Programiranje | 1070 (839) | golobich |
» | Ime Priimek v Ime_Priimek (strani: 1 2 )Oddelek: Programska oprema | 5011 (3971) | Doman |
» | Rabim program, ne vem pa če obstaja?Oddelek: Programska oprema | 1881 (1657) | CaqKa |