Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Нужно найти все файлы *.log в папке dir и подпапках и заменить на файлы нулевой длины (http://forum.oszone.net/showthread.php?t=183640)

dclxvi 23-08-2010 14:57 1479998

Нужно найти все файлы *.log в папке dir и подпапках и заменить на файлы нулевой длины
 
Нужно найти все файлы *.log в папке dir и подпапках и заменить на файлы нулевой длины
(Собственно *.log перед этим надо скопировать, но это не проблема)

Заранее спасибо

gora 23-08-2010 15:13 1480014

Код:

@Echo Off
Set src=c:\Temp\11
For /R "%src%" %%a In (*.log) Do (
        Rem надо скопировать, но это не проблема
        CD .>"%%a"
)


dclxvi 23-08-2010 15:26 1480029

Спасибо

sov44 04-07-2012 16:41 1945809

Подскажите, как посчитать и удалить логи, чтобы при следующем запуске их сумма была равна нулю. Проблема в высвобождении логов от системы. В нуль никак не получается.
Код:

@Echo Off
SetLocal enabledelayedexpansion
  For /F "Delims=" %%I In ('Dir c:\*.log /B/S/A:-D-H 2^>nul') Do (
      Echo %%I
      set "DR=%%~dpI"
      set /a iSumL +=%%~zI
PUSHD "!DR:~0,-1!"
del /q "%%I"
POPD
                      )
Echo !iSumL!
pause


sov44 04-07-2012 21:28 1945991

Решено!
Код:

@Echo Off
SetLocal enabledelayedexpansion
  For /F "Delims=" %%I In ('Dir c:\*.log /B/S/A:-D-H 2^>nul') Do (
      Echo %%I
      2>&1 del /q "%%I" | 1>nul findstr "."
      if errorlevel 1 (set /a iSumL +=%%~zI) else (set iSumL=0)
)
Echo !iSumL!
pause>nul



Время: 04:36.

Время: 04:36.
© OSzone.net 2001-