|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Прошу прокомментировать данный код |
|
CMD/BAT - Прошу прокомментировать данный код
|
Новый участник Сообщения: 22 |
Код:
@echo off SETLOCAL EnableDelayedExpansion for /f "delims==" %%a in ('ftype^|find /i "\notepad.exe"') do set "$f=!$f! /c:"=%%a"" for /f "delims==" %%a in ('assoc^|findstr/ie%$f%') do set "$x=!$x! %systemdrive%\*%%a" SETLOCAL DisableDelayedExpansion (for /f "delims=" %%a in ('dir /b/s/a-d %$x% 2^>nul') do ( for /f "tokens=1,2" %%b in ('dir/a/tc "%%a"^|findstr/iec:"%%~nxa"') do echo %%b %%c %%a ))>"%~dpn0.log" |
|
Отправлено: 14:53, 27-02-2011 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать По хорошему, amel27 должен отвечать - его код. Но рискну.
![]() ftype^|find /i "\notepad.exe" Команда ftype выводит типы файлов и связанные с ними приложения. Например: inifile=%SystemRoot%\System32\NOTEPAD.EXE %1 Следующей командой - find /i "\notepad.exe" отбираются только те из них, что связаны с Блокнотом. set "$f=!$f! /c:"=%%a"" Создается, скажем так, массив значений для использования в будущей команде findstr/ie%$f%. Выглядит, в конечном итоге, он примерно так: /c:"=inffile" /c:"=inifile" /c:"=Text" и т. д. То есть из всех типов файлов, связанных с Блокнотом. assoc^|findstr/ie%$f% Команда assoc выводит связанные с типами файлов расширения. Например: .txt=Text findstr/ie%$f% отбирает только те расширения, что относятся к типам файлов, которые переданы в переменную %$f%. Смотрится примерно так: findstr/ie /c:"=inffile" /c:"=inifile" /c:"=Text" set "$x=!$x! %systemdrive%\*%%a" Снова создается массив значений, теперь уже для команды dir /b/s/a-d %$x% 2^>nul. Он состоит из масок для вывода файлов. Примерно такой: %systemdrive%\*.ini %systemdrive%\*.inf %systemdrive%\*.txt. Где %systemdrive% - системный диск. dir /b/s/a-d %$x% 2^>nul Выводятся все файлы на диске, соответствующие маскам (dir /b/s/a-d %systemdrive%\*.ini %systemdrive%\*.inf %systemdrive%\*.txt). 2^>nul - игнорировать ошибки. dir/a/tc "%%a"^|findstr/iec:"%%~nxa" Получение времени создания файла. %%a - полученное имя файла из вышестоящего цикла. findstr/iec:"%%~nxa" - ищется строка с именем файла, поскольку командой dir/a/tc выводится несколько строк, а нужна именно строка с именем файла. tokens=1,2 - из этой строки отбираются только 1 и 2 элементы, разделенные пробелами (табуляцией). В переменную %%b помещается дата создания файла, в переменную %%c - время. Остальное все, я думаю, не представляет сложности для понимания. |
Последний раз редактировалось SendMessage, 28-02-2011 в 08:08. Отправлено: 08:02, 28-02-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Спасибо!
А "SETLOCAL EnableDelayedExpansion" что? |
Отправлено: 15:06, 28-02-2011 | #3 |
Ветеран Сообщения: 2153
|
Профиль | Отправить PM | Цитировать Чин Хон,
Инфа из интернета: Цитата:
|
|
------- Отправлено: 17:09, 28-02-2011 | #4 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Ясно, спасибо!
|
|
Отправлено: 21:11, 28-02-2011 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - Прошу прокомментировать | Чин Хон | Программирование и базы данных | 4 | 17-02-2011 17:35 | |
Разное - [решено] Автоматическая смена обоев в w7, как узнать имя обоины отображенной в данный | baldafon | Microsoft Windows 7 | 3 | 13-06-2010 04:59 | |
EventID - Код: 6006 , код: 6009, код: 6005. Источник - Eventlog. | Panathinaikos | Устранение критических ошибок Windows | 6 | 15-04-2010 16:22 | |
[решено] Прошу посодействовать в подборе конфигурации сис.блока(актуального на данный момент) | cr3w | Выбор отдельных компонентов компьютера и конфигурации в целом | 25 | 24-08-2009 22:11 |
|