![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум 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" |
|
Отправлено: 15:39, 06-03-2011 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Я извиняюсь, что опять создал такую тему. Но очень нужно...
Это мне прокомментировал SendMessage, и я очень благодарен. Но нужно еще по подробнее: 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 - время. Остальное все, я думаю, не представляет сложности для понимания. |
Отправлено: 15:40, 06-03-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Прошу прокомментировать данный код | Чин Хон | Скриптовые языки администрирования Windows | 4 | 28-02-2011 21:11 | |
C/C++ - Прошу прокомментировать | Чин Хон | Программирование и базы данных | 4 | 17-02-2011 17:35 | |
EventID - Код: 6006 , код: 6009, код: 6005. Источник - Eventlog. | Panathinaikos | Устранение критических ошибок Windows | 6 | 15-04-2010 16:22 | |
[решено] Прошу посодействовать в подборе конфигурации сис.блока(актуального на данный момент) | cr3w | Выбор отдельных компонентов компьютера и конфигурации в целом | 25 | 24-08-2009 22:11 |
|