Skrypt do zmiany nazw katalogów

   Poniżej prezentuję kolejny skrypt, jaki powstał w odpowiedzi na problem poruszony na grupie dyskusyjnej. Pytający chciał, aby pozmieniać nazwy katalogów tak, aby zawierały datę znajdujących się w nich plików _log.tmp. Udało mi się napisać jednolinijkowy skrypt, który to realizuje:

for /d %%i in (*) do ( for /F "tokens=1,2" %%j in ('dir %i\_LOG.TMP ^| findstr /I "....-..-.." ') do ren %%i %%j)

Rozpoczynamy od pętli, która iteruje po katalogach znajdujących się w bieżącym katalogu. Ich nazwy sa podstawiane pod zmienną i. Następnie dla każdego katalogu wykonywane jest polecenie dir wyświetlające plik _log.tmp. Polecenie to zwraca także datę pliku, która jest wychwytywana przez findstr i podstawiana do zmiennej j. Następnie wykonywana jest zmiana nazwy poleceniem ren.