Całkiem niedawno pościągałem sobie parę paczek pędzelków do GIMPa, w trakcie tej operacji okazało się, że o ile autorzy wspomnianych obiektów wykazali się inwencją w ich tworzeniu, to jakoś zatracili tę twórczą moc przy nazywaniu plików zawierających ich dzieła. Z lekka przyznam mnie to zirytowało, bo chciałem np.: żeby paczki pędzli były razem obok siebie w widoku pędzle. Jak wiecie, pędzle są sortowane według nazwy pliku, tak więc należało do każdego pliku w paczce dopisać jakiś przedrostek i mam już unikalne nazwy - czyli odpada mi niebezpieczeństwo, że nie będę mógł dodać potem nowych - ale o tej samej nazwie i paczki wtedy trzymają się razem.
Tylko, że... zwyczajnie nie chciało mi się wklejać ręcznie nazw tych plików - naprędce napisałem więc taki mały skrypcik (bata) który zamieszczam poniżej.
@echo off
if NOT {%1} == {} goto CHECK
echo.
echo Skrypt modyfikuje nazwy plikow (i katalogow) [v. 1.0]
echo Wymaga conajmniej Windows'a NT (przynajmniej wg. dokumentacji)
echo by Ziomioslaw (jabber: ziomioslaw[at]gimpuj[dot]info)
echo.
echo ...: http://gimpuj.info/ :...
echo.
goto GET_HELP
:CHECK
if {%1} == {/?} (goto :HELP) & (goto :EOF)
if {%2} == {} goto SYNTAX_ERROR
if not exist %2 goto FILE_NOT_EXIST
if {%3} == {-p} goto PREFIKS
if {%3} == {-s} goto SUFIKS
if {%3} == {-x} goto FILE_TYPE
:PREFIKS
echo Dodanie przedrostka "%1" do: %2
for %%k in (%2) do rename "%%k" "%1%%~nxk"
goto READY
:SUFIKS
echo Dodanie przyrostka "%1" do %2
for %%k in (%2) do rename "%%k" "%%~nk%1%%~xk"
goto READY
:FILE_TYPE
echo Zamiana rozszerzenia plikow %2 na ".%1"
for %%k in (%2) do rename "%%k" "%%~nk.%1"
goto READY
:READY
echo Gotowe!
goto EOF
:HELP
echo Dodaje przedrostek do nazw wybranych plikow
echo.
echo %~n0 [ciag_znakow] [wybrane pliki] [opcje]
echo.
echo Ciag znakow - uwaga, bedzie czescia nazwy, wiec nie moze zawierac symboli
echo dla nazw niedozwolownych np.: [{?/*"<>|\}]
echo Wybrane pliki - czyli pliki jakim mamy modyfikowac nazwy - wbrew nazwie
echo moga to byc katalogi, ale nalezy pamietac, ze kataloga nie mozna zmienic
echo rozszerzenia.
echo Opcje - sa nastepujace:
echo -p - dodawanie przedrostka do nazwy pliku (tekstu przed nazwa
echo pliku) (nie trzeba go podawac)
echo -s - dodawanie przyrostka do nazwy pliku (tekstu po nazwie pliku -
echo przed rozszerzeniem)
echo -x - zamiana rozszerzenia
echo.
echo Domylsnie skrypt ten pracuje z opcja "-p"
echo.
echo Przyklady:
echo.
echo %~n0 old_ *.*
echo %~n0 ! folder\*.txt -p
echo %~n0 _22.03.2005 *.jpg -s
echo %~n0 txt *.doc -x
echo.
goto EOF
:FILE_NOT_EXIST
echo Wybrane przez ciebie pliki nie istnieja.
goto GET_HELP
:SYNTAX_ERROR
echo Nieprawidlowa skladnia.
:GET_HELP
echo Jesli chcesz uzyskac pomoc wywolaj:
echo %~n0 /?
echo.
:EOF
Może się komuś przyda - bo mi tak.
Plik wsadowy jakoś mi nie pasował do działu "Skrypts'Fu & Plugins", ale jesli to nikomu nie przeszkadza, można zawsze przenieść. Nie ma chyba innego działu, do którego by pasował...
Wersja na Linux: ano mogę zrobić - czemu nie - ale akurat w Linuksie, to pewnie można sprawę załatwić jednym poleceniem, może wrzucę kiedy indziej.
Jak używać?
Przeklejasz do bata, uruchamiasz "
cmd", wpisujesz nazwe bata, ciąg znaków jakie mają się pojawić w nazwie, piszesz gdzie i jakie pliki, możesz też wywołać opcję, która wstawi przed rozszerzeniem dany ciąg lub je zastąpi - taki mały dodatek, skoro już coś publikuje...
Jak nazwać?
Hmm - możecie dowolnie - może "Tess" na cześć mojej
pani, albo np.: "Ziomioslaw" na moją. Ja osobiście miałem go nazwanym sk.bat. O... może mały konkurs na nazwę? Nagrodą jest wysłanie tego bata osobiście przeze mnie na email.
Tak nawiasem:
Uważajcie jak go używacie. Co prawda nic nie usuwa, ale i tak ostrzegam:P
Prawa autorskie?
Zachowuje sobie prawo do mojego pseudonimu w kodzie no i do potencjalnych zysków:P - możesz modyfikować, rozdawać, a jak sprzedajesz to dzielisz się ze mną z zyskami:P no i niemożna Ci usuwać mojego słodkiego nicka z kodu. Tyla.