Системные утилиты, текстовые и графические редакторы, браузеры и RSS-агрегаторы, шифровальщики и почтовые клиенты, все эти, и много других типов программ имеют одну общую функцию, не зависящую от назначения приложения, а именно вывод на печать. Для программ, так или иначе имеющих дело с контентом, который можно отобразить на аналоговом носителе, функция вывода на печать считается едва ли не обязательной.
Но есть и исключения. Взять, к примеру, стандартный Диспетчер задач Windows. Несмотря на то, что выводимая им информация о процессах вполне может быть распечатана, привычной команды “Распечатать” вы в нем не найдете. Но как быть, если вам вдруг понадобилось распечатать список текущих процессов? Не переписывать же их один за другим в текстовый файл!
В действительности вывести список процессов, служб и прочей системной информации в файл (на печать) очень просто. Самый простой способ – воспользоваться специальным программным обеспечением, например, хорошо известной каждому системному администратору утилитой Procexp или комплексным приложением AnVir Task Manager.
Но можно обойтись и без всякого стороннего программного обеспечения. Все что нам нужно, так это знание двух-трех команд выполняемых в командной строке или ее усовершенствованном аналоге PowerShell.
В консоли для вывода списка текущих процессов в файл используется команда tasklist с указанием пути. При выполнении команды файл создается автоматически. Существующий же файл будет перезаписан. Выглядит все следующим образом.
При этом вы получите список текущих процессов с указанием имени сессии и процесса, его идентификатор, а также объем используемой каждым процессом выделенной памяти. Если у вас возникли проблемы с кодировкой (в текстовом файле крякозябры), измените кодировку, выполнив команду chcp со значением 1251.
Команда tasklist имеет множество параметров и фильтров позволяющих сортировать выводимые данные. Для получения подробной справки в командной строке следует использовать команду tasklist /?
Другой метод получения списка запущенных процессов в файл заключается в использовании утилиты PowerShell. Принцип примерно тот же, но команды используются другие. Кстати, команды в PowerShell именуются командлетами. Набор командлетов вывода списка процессов в файл будет выглядеть следующим образом:
В данном примере get-process получает список процессов, а out-file выводит его по указанному пути. Как вы можете видеть, выводимые данные с использованием PowerShell отличаются куда большей информативностью. Если вместо out-file использовать команду out-printer, можно вывести данные непосредственно на принтер.
С помощью PowerShell также можно выполнять множество других полезных операций. Этот универсальный инструмент, безусловно, будет полезен не только программистам и системным администраторам, для которых знание синтаксиса PowerShell является обязательным, но и опытным пользователям желающим сделать свою работу на компьютере более быстрой и продуктивной.