alexii пишет:Как-то так:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq tokens=1-2,4-7,9 delims=: " %%i in (
`findstr.exe /r /s /c:"^от .* года *№ [0-9]*$" "C:\Песочница\011\*.txt"`
) do ren "%%i:%%j" "%%k %%l %%m %%n № %%o.txt"
endlocal
exit /b 0
Почти, в пути к файлам есть пробелы и кодировка сбоит немного.
+ пути разные, папки бывают с двойным вложением, а некоторые файлы в основной папке лежат, а не в корне
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq tokens=1-2,4-7,9 delims=: " %%i in (
`findstr.exe /r /s /b /c:"^от .* года *№ [0-9]*$" "C:\Downloads\!!!\*.txt"`
) do ren "%%i:%%j" "%%k %%l %%m %%n № %%o.txt"
endlocal
exit /b 0
но из за пробелов в пути к файлу или в его начальном названии получаем это:
C:\Downloads\!!!>setlocal enableextensions enabledelayedexpansion
C:\Downloads\!!!>for /F "usebackq tokens=1-2,4-7,9 delims=: " %i in (`findstr.exe /r /s /b /c:"^от .* года *№ [0-9]*$" "C:\Downloads\!!!\*.txt"`) do ren "%i:%j" "%k %l %m %n № %o.txt"
C:\Downloads\!!!>ren "C:\Downloads\\!!!\r20120215_101\№" "от 15 февраля 2012 № №.txt"
C:\Downloads\!!!>ren "C:\Downloads\\!!!\r20120215_107\№" "от 25 января 2012 № №.txt"
C:\Downloads\!!!>ren "C:\Downloads\\!!!\Новая" "103.txt от 15 февраля № года.txt"
C:\Downloads\!!!>ren "C:\Downloads\\!!!\Новая" "104.txt от 15 февраля № года.txt"
C:\Downloads\!!!>ren "C:\Downloads\\!!!\№" "от 15 февраля 2012 № №.txt"
C:\Downloads\!!!>ren "C:\Downloads\\!!!\№" "от 15 марта 2012 № №.txt"
C:\Downloads\!!!>endlocal
C:\Downloads\!!!>exit /b 0