|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - LOG выполнения BAT файла не полон, не пойму как решить. Помогите пожалуйста |
|
CMD/BAT - LOG выполнения BAT файла не полон, не пойму как решить. Помогите пожалуйста
|
Новый участник Сообщения: 5 |
Есть файл BAT, который удаляет файлы по указанную дату (в данном случае - удаляет все что старше 2-х дней).
Код файла BAT @echo off echo Start Delete_Files_For_Older_2_Days %time% forfiles /p "C:\88" /s /m *.* /D -2 /C "cmd /c del @path" echo Stop Delete_Files_For_Older_2_Days %time% Результат выполнения записывается в LOG файл вот так - Start Delete_Files_For_Older_2_Days 14:47:51,02 Stop Delete_Files_For_Older_2_Days 14:47:51,26 Помогите пожалуйста, сделать так, чтобы выводилось в LOG хотя бы так - Start Delete_Files_For_Older_2_Days 14:47:51,02 Удален файл - С:\88\FileTest.txt Stop Delete_Files_For_Older_2_Days 14:47:51,26 Так, как это расписывает скрипт "полного удаления в указанной папке". *Еще если можно, помогите решить вопрос с этим же скриптом - не удаляет ПАПКИ (вложенные например если имеются в целевой папке), а только файлы. Заранее спасибо за помощь! |
|
Отправлено: 14:56, 28-03-2018 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Можно воспользоваться robocopy, чтобы переместить старые файлы в другую папку и записать эти файлы в лог, а затем просто удалить эту папку с перемещёнными файлами.
|
------- Отправлено: 22:56, 28-03-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать А вывести таким способом как я описал в теме не возможно?
|
Отправлено: 16:02, 29-03-2018 | #3 |
Ветеран Сообщения: 5380
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 18:28, 29-03-2018 | #4 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Громоздко, но работает. И пустые папки убивает.
Лог файл создаётся. Дата в системе должна отображаться дд.мм.гггг @Echo Off Set "DelFile=Z:\Box_In\*.*" Set /A DeltaDay=-2 Set "LogFile=Z:\Box_Out\%Date:~6,4%%Date:~3,2%%Date:~0,2%_DelFile.log" Call :FromDate %DeltaDay% %Date% "yyyymmdd" >>"%LogFile%" ( Echo +++ %Date% %Time% Start Delete Files For Older %DeltaDay% Days FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%DelFile%" /S /B /A:-D /O:D /T:W`) DO Call :DateDelFile "%%f" "%%~tf" "%yyyymmdd%" Call :DelEmpty "%DelFile%" Echo === %Date% %Time% Stop Delete Files For Older %DeltaDay% Days ) GoTo :Eof :DateDelFile Set "DateFile=%~2" Set /A DateFile=%DateFile:~6,4%%DateFile:~3,2%%DateFile:~0,2% If %DateFile% GEQ %~3 GoTo :Eof Del %1 2>&1 &&Echo --- Deleted %DateFile% %1 GoTo :Eof :DelEmpty For /F "Tokens=*" %%A In ('2^>nul Dir "%~dp1" /B /S /A:D ^|Sort /R') Do RD "%%A" 2>nul &&Echo --- Empty Folder Deleted "%%A" GoTo :Eof :FromDate rem Пересчет даты на заданное кол-во дней rem В первом аргументе +- дни rem Во втором аргументе дата в формате dd.mm.yyyy rem В третем аргументе имя переменной в кавычках где получим новую дату в формате yyyymmdd rem Заимствовано http://forum.oszone.net/thread-186889.html rem вызов Call :FromNow %DeltaDay% %Date% "yyyymmdd" rem результат в перемменной %yyyymmdd% SetLocal Set "DT=%~2" Set yyyy=%DT:~-4%& set /a mm=100%DT:~3,2%%%100& set /a dd=100%DT:~,2%%%100 Set /A JD=%~1+dd-32075+1461*(yyyy+4800+(mm-14)/12)/4+367*(mm-2-(mm-14)/12*12)/12-3*((yyyy+4900+(mm-14)/12)/100)/4 Set /A L=JD+68569,N=4*L/146097,L=L-(146097*N+3)/4,I=4000*(L+1)/1461001 Set /A L=L-1461*I/4+31,J=80*L/2447,K=L-2447*J/80,L=J/11 Set /A J=J+2-12*L,I=100*(N-49)+I+L Set /A yyyy=I,mm=100+J,dd=100+K EndLocal& Set "%~3=%yyyy%%mm:~-2%%dd:~-2%" GoTo :Eof |
|
------- Отправлено: 19:39, 29-03-2018 | #5 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Спасибо большое за помощь!
|
Отправлено: 11:50, 11-04-2018 | #6 |
Ветеран Сообщения: 547
|
Профиль | Сайт | Отправить PM | Цитировать Цитата DJ Mogarych:
|
|
------- Отправлено: 11:33, 13-04-2018 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Запуск bat файла с ожиданием выполнения | Alexander_88 | Скриптовые языки администрирования Windows | 2 | 10-09-2015 13:02 | |
CMD/BAT - [решено] bat для поиска файла и выполнения действий над искомым файлом | DJIOAN | Скриптовые языки администрирования Windows | 2 | 22-07-2015 10:15 | |
Разное - SFC 18% и всё((((Помогите пожалуйста с целостностью файлов.. (не умею читать CBS.log) | ed45 | Microsoft Windows 7 | 21 | 16-08-2013 18:27 | |
Прочее - Помогите разобраться с Huawei HG520. Что то не пойму как тут все наподключали... | berkut_174 | Сетевые технологии | 2 | 16-11-2011 08:59 | |
CMD/BAT - [решено] сохранить окно CMD после выполнения bat файла | WChek | Скриптовые языки администрирования Windows | 6 | 17-03-2008 11:03 |
|