Можно ли найти файлы созданные за сегодняшний день и дать отчет о них
Можно ли с помощю, (.bat) файла найти файлы созданные за сегодняшний день в директории: (%Systemdrive%)- и в формате, (Report.txt) на рабочем столе дать отчет о них.
Если можно напишите, (.bat) скрипт.
|
greg zakharov |
18-04-2016 21:44 2627622 |
Код:
@echo off
setlocal
set "fld=%systemdrive%\" % rem : начальная точка сканирования
set "log=C:\logs\%date:.=%.log" % rem : куда пишется лог
if exist "%log%" del /f /q "%log%"
<nul set /p "processing=Standby..."
rem сперва ищем нужные файлы в корне
for /f "tokens=3,*" %%i in (
'dir /tc "%fld%" ^| findstr /rc:"^%date%"'
) do echo:%%~fj>>"%log%"
rem далее просматриваем все подкаталоги
for /f "tokens=*" %%i in ('dir /ad /s /b "%fld%"') do (
pushd "%%~i"
for /f "tokens=4,*" %%j in (
'dir /tc ^| findstr /rc:"^%date%"'
) do echo:%%~fj>>"%log%"
popd
)
endlocal
exit /b
|
Скрипт работает- спасибо.
|
greg zakharov |
18-04-2016 22:25 2627630 |
...
|
Если в названии файла два или больше, слов тогда в, (.лог) файле пишется одно, первое слово найденного файла. И без разширения.
Например найденный файл, (Win Security.txt) отображается как: (Win).
|
Код:
@Echo off
cls
Set "Where=%systemdrive%"
Set "Log=%~nx0.log"
Del "%Log%" 2>nul
Set "DT=%Date%"
Set "DTX=%Date:~3,2%-%Date:~0,2%-%Date:~6,4%"
SetLocal EnableExtensions EnableDelayedExpansion
for /f "usebackq Delims=" %%i in (`xcopy "%Where%\*.*" \ /D:%DTX% /H /L /S`) Do (
Set "Fold=%%~dpi"
for /f "usebackq Delims=" %%f in (`dir "%%i" /A /T:C 2^>nul`) Do (
Set "Str=%%f"
If "!Str:~0,10!"=="%DT%" (
If Not "!Fold!"=="!Fold1!" Echo ---- !Fold! >>"%Log%"
Echo %%f >>"%Log%"
Set "Fold1=!Fold!"
)
)
)
Ограничение: скрипт не должен находиться на %systemdrive%
Предполагается, что формат даты в системе дд.мм.гггг, в противном случае необходимо корректировать формирование переменной DTX для работы xcopy
|
megaloman!
"скрипт не должен находиться на %systemdrive%" - Ok!
Но скрипт не сканирует- он в консоле пишет: ( Invalid Parameter - /D:6. -20-4.19 ).
|
Код:
@echo off
>"%USERPROFILE%\Desktop\Report.txt" 2>nul (
for /f "delims=" %%i in ('dir/a-d/b/s "%SystemDrive%\*"') do @(
dir/a/tc "%%i"| >nul findstr/bl %date%&& echo %%i
)
)
exit/b
|
ufooo, В каком формате в системе настроена дата? Сделайте в командной строке Echo %Data%
|
Georgio
Скрипт сканируе, но ничаго не отображает.
|
Цитата:
Цитата ufooo
Скрипт сканируе, но ничаго не отображает. »
|
И не должен. Поищите на Рабочем столе (если у Вас Vista и выше) файл «Report.txt».
|
Цитата:
Цитата Iska
Поищите на Рабочем столе (если у Вас Vista и выше) файл «Report.txt». »
|
Что за шутки, и причем тут файл, (Report.txt), он мне создается там где надо- но в консоли всегда процесс виден...
Процесс сканирования долгий, и было бы интересно понаблюдать за ним.
|
Там особо не за чем наблюдать, основной процесс идёт в «dir/a-d/b/s "%SystemDrive%\*"», вывод которой затем подвергается разбору.
|
Время: 20:02.
© OSzone.net 2001-