[CMD] bat-ник для нахождения и удаления файлов в папках не имеющих в названии символ

Remreider

Новый пользователь
Сообщения
2
Реакции
0
Баллы
1
Всем привет. Такая задача:

Нужно в одной директории содержащей большое кол-во папок с файлами формата .png,
удалить файлы не содержащие в названии первый символ "№".
После этой операции нужно вновь пройтись по всем папкам и удалить первый символ.
В каждой папке разное количество файлов, но в любой они есть.
Задача реальная, но самому не под силу.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,575
Реакции
6,020
Баллы
798
Здравствуйте Remreider!
Добро пожаловать на SafeZone.

CMD/BATCH:
@echo off
SetLocal EnableExtensions

set source=c:\temp\testing

for /f "delims=" %%a in ('dir /b /s "%source%\*.png" ^| findstr /RIVC:"\\№[^\\]*.$"') do del /f /a "%%a"
for /f "delims=" %%a in ('dir /b /s "%source%\*.png"') do call :renme "%%~dpa" "%%~nxa"

pause
goto :eof

:renme [folder] [name]
    set "name=%~2"
    echo "%~1%~2" =^> "%~1%name:~1%"
    ren "%~1%~2" "%name:~1%"
exit /b

Батник сохранять в кодировке OEM-866.
 

Remreider

Новый пользователь
Сообщения
2
Реакции
0
Баллы
1
Спасибо огромное! Тема закрыта.
 
Сверху Снизу