Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Vooodi4356,
Как вариант, ИМХО, проще в использовании CMD
Предполагаю, что дата в системе отображается как дд.мм.гггг
Код: Выделить весь код
@Echo Off

Call :DelOldFile "Z:\Soft_In\log_*.log" "15.03.2018"
Call :DelOldFile "Z:\Soft_In\print_[*].txt" "01.01.2016"
GoTo :Eof

:DelOldFile
	Set "DateSave=%~2"
	Set /A DateSave=%DateSave:~6,4%%DateSave:~3,2%%DateSave:~0,2%
	Pushd "%~dp1"
	FOR /F "usebackq delims=" %%f IN (`2^>nul Dir %1 /b /A:-D /O:D /T:W`) DO Call :DelDate "%~dp1%%f" "%%~tf" %DateSave%
	Popd
GoTo :Eof

:DelDate
	Set "DateFile=%~2"
	Set /A DateFile=%DateFile:~6,4%%DateFile:~3,2%%DateFile:~0,2%
	If %DateFile% LSS %3 Del %1 
GoTo :Eof

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 13:55, 25-03-2018 | #5