Re: [cmd] hurtowa zmiana rozszerzeń plików

Autor: Sempiterna <rzopa_at_amorki.pl>
Data: Sat 05 Dec 2009 - 03:42:04 MET
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
Message-ID: <4b19c87d$1@news.home.net.pl>

Użytkownik "Sempiterna" <rzopa@amorki.pl> napisał w wiadomości
news:4b19ae96$1@news.home.net.pl...
>
> Użytkownik "Sempiterna" <rzopa@amorki.pl> napisał w wiadomości
> news:4b19a986$1@news.home.net.pl...
>>
>> FOR /f %%X IN ('DIR /B *.txt') DO MOVE %%X %%X.csv
>> Nie powinno być
>> FOR /f %%X IN ('DIR /B *.txt') DO MOVE %%X.txt %%X.csv
>> ??
>
> Już wiem, nie powinno. W każdym razie fruwanie po katalogach zapewnia
> przełącznik /r... szukam dalej, skupiam się na odcięciu rozszerzenia w
> podstawianej zmiennej... Wtedy moje zadziała.

Mam, znalazłem. Jest tylko jedna wada, której nie przeskoczyłęm, ale
skrypt wreszcie działa i robi także w podkatalogach:
FOR /f %%X IN ('DIR /b /s "*.txt"') DO move "%%~pnX.txt" "%%~pnX.csv"
Wadą skryptu jest to, ze głupieje, gdy nazwa pliku zawiera spację -
obcina resztę nazwy, z racji konstrukcji zachowuje rozszerzenie - już
zmienna gubi spacje z nazwy... Zastosowanie cudzysłowu nie pomaga.

Jeśli nie ma podkatalogów do obrabiania - to rzeczywiście ren *.txt
*.csv załatwi sprawę i nie potnie spacji.
Można by pomyśleć, jak przetransportować działanie komendy rename do
podkatalogów...
Ale to już za dnia pokombinuję, teraz trza odkimać się :)

PS. Już padłem, nie chce mi sie usuwać zbędnych cudzysłowów ze
skryptu... :)

-- 
D4
Tu przerwał, lecz róg trzymał, wszystkim się zdawało,
Że Wojski wciąż gra jeszcze, a to echo grało...
(C) Adam Mickiewicz "Pan Tadeusz", "Gra Wojskiego na rogu".
Received on Sat Dec 5 03:45:03 2009

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Sat 05 Dec 2009 - 04:42:00 MET