Strona 1 z 2
Masowa zmiana nazw plików - zamiana spacji
: 26 września 2009, 20:16
autor: Dalik
Poszukuję konsolowego skryptu/programu, który będzie zmieniał mi masowo nazwy plików.
Przykład:
zamienić na:
: 26 września 2009, 20:33
autor: berniekk
Nie wiem czy dokładnie o to Ci chodzi, ale twoje problemy może rozwiązać
convert. Używałem tego do masowej zmiany nazw zdjęć z aparatu cyfrowego.
Tutaj masz przykładowe możliwości convert.
: 26 września 2009, 22:26
autor: zloty87
: 26 września 2009, 22:51
autor: fnmirk
: 27 września 2009, 00:05
autor: pyrion
Możesz użyć krename.
: 27 września 2009, 10:10
autor: kalota
Kod: Zaznacz cały
#! /bin/bash
ls $1|while read plik
do
cplik=$(echo $plik | sed -e "s/ /_/g" | tr A-Z a-z)
mv -fv "$(echo $1$plik)" "$(echo $1$cplik)" 2>/dev/null
done;
Kod: Zaznacz cały
sh skrypt /nazwa/katalogu/zakonczona/slashem/
: 27 września 2009, 11:10
autor: Dalik
Wiem, że wymyślam ale coś w pythonie znalazłoby się (chcę się nauczyć tego języka i taki skrypt byłby kolejnym doświadczeniem w tej materii)?
: 27 września 2009, 11:59
autor: lessmian2
Nigdy nie byłem mistrzem pythona i pewnie posypią się gromy :-P ale stworzyłem z nudów coś takiego:
Kod: Zaznacz cały
#!/usr/bin/python
import fileinput, sys, os
for line in fileinput.input():
cmd = "mv \"%s\" %s" % (line.rstrip(), line.replace(' ','_'))
os.system(cmd)
Uruchamiasz będąc w katalogu w którym masz rzeczone pliki o tak:
: 27 września 2009, 13:05
autor: Dalik
Tutaj domyślam się, że powinno być: (w moim przypadku):
Pliki wejściowe:
Kod: Zaznacz cały
KATE RYAN - Desenchantee [Live @ At The Dome25 SVCD].mpg
Milk Inc. - Livin' A Lie.mpg
The Prodigy - Poison (Live).mpeg
Pliki wyjściowe:
Kod: Zaznacz cały
KATE_RYAN_-_Desenchantee_[Live_@_At_The_Dome25_SVCD].mpg
Milk Inc. - Livin' A Lie.mpg
The Prodigy - Poison (Live).mpeg
Wynik kowersji tych 3 losowych plików:
Kod: Zaznacz cały
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `mv "The Prodigy - Poison (Live).mpeg" The_Prodigy_-_Poison_(Live).mpeg'
Opinia końcowa. Coś działa ale nie do końca?
: 27 września 2009, 13:45
autor: lessmian2
A bo Ty tam masz jakieś dziwne znaczki typu
(),. :-P
Kod: Zaznacz cały
#!/usr/bin/python
import fileinput, sys, os
for line in fileinput.input():
line = line.rstrip()
cmd = "mv %s %s" % (repr(line), repr(line.replace(' ','_')))
os.system(cmd)
Powinno być lepiej.
Edit:
Przez Ciebie prawie przypaliłem obiad :-P