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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Можно ли найти файлы созданные за сегодняшний день и дать отчет о них

Ответить
Настройки темы
CMD/BAT - [решено] Можно ли найти файлы созданные за сегодняшний день и дать отчет о них

Пользователь


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

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


Можно ли с помощю, (.bat) файла найти файлы созданные за сегодняшний день в директории: (%Systemdrive%)- и в формате, (Report.txt) на рабочем столе дать отчет о них.
Если можно напишите, (.bat) скрипт.

Отправлено: 20:44, 18-04-2016

 

Забанен


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

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


Код: Выделить весь код
@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
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:44, 18-04-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


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

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


Скрипт работает- спасибо.

Последний раз редактировалось ufooo, 18-04-2016 в 22:55.


Отправлено: 22:13, 18-04-2016 | #3


Забанен


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

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


...

Отправлено: 22:25, 18-04-2016 | #4


Пользователь


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

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


Если в названии файла два или больше, слов тогда в, (.лог) файле пишется одно, первое слово найденного файла. И без разширения.
Например найденный файл, (Win Security.txt) отображается как: (Win).

Отправлено: 22:51, 18-04-2016 | #5


Ветеран


Contributor


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

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


Код: Выделить весь код
@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, 21-04-2016 в 07:07.


Отправлено: 00:27, 19-04-2016 | #6


Пользователь


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

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


megaloman!
"скрипт не должен находиться на %systemdrive%" - Ok!
Но скрипт не сканирует- он в консоле пишет: ( Invalid Parameter - /D:6. -20-4.19 ).

Последний раз редактировалось ufooo, 19-04-2016 в 20:30.


Отправлено: 14:14, 19-04-2016 | #7


Ветеран


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

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


Код: Выделить весь код
@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
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:35, 19-04-2016 | #8


Ветеран


Contributor


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

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


ufooo, В каком формате в системе настроена дата? Сделайте в командной строке Echo %Data%

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


Отправлено: 14:56, 19-04-2016 | #9


Пользователь


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

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


Georgio
Скрипт сканируе, но ничаго не отображает.

Отправлено: 20:49, 19-04-2016 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Можно ли найти файлы созданные за сегодняшний день и дать отчет о них

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Дать отчет о скрытых файлах в папке ufooo Скриптовые языки администрирования Windows 6 14-05-2015 23:04
На сегодняшний день реализовано более 200 млн. лицензий на Windows 8 OSZone News Новости и события Microsoft 0 14-02-2014 09:30
что на сегодняшний день актуально по разгону? StarMAUGLI Разгон, охлаждение и моддинг 29 08-03-2013 16:25
Что это за файлы и как от них избавиться? Leshiy Хочу все знать 21 21-01-2009 22:27
[решено] Можно ли дать запрет на использование програм??? minion Microsoft Windows NT/2000/2003 9 23-07-2006 15:58




 
Переход