Распечатайте содержимое любой папки с помощью автоматической процедуры

Windows, даже в самых последних версиях, не имеет функции, позволяющей напрямую распечатать список файлов и подпапок в заданном каталоге. Существует программное обеспечение, разработанное сторонними компаниями (например, «Karen’s Directory Printer»; мы представили его в этой статье), которое позволяет заполнить этот пробел.

В качестве альтернативы, как мы уже указывали ранее, можно самостоятельно создать пакетный файл, позволяющий достичь той же цели.

В этой статье мы хотим представить методологию, особенно подходящую для менее опытных пользователей, которая позволяет сразу добавить функциональность для печати содержимого любой папки.

Чтобы продолжить, просто скачайте этот сжатый файл затем извлеките его содержимое в папку по вашему выбору на жестком диске. ZIP-файл Stampadir.zip содержит только два файла: configura.vbs и Stampadir.bat: важно убедиться, что оба файла были распакованы в один и тот же каталог.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

На этом этапе вам нужно дважды щелкнуть файл Configure.vbs. При этом пункт «Отправить в…, Распечатать содержимое папки» будет автоматически добавлен в контекстное меню Windows (появляется при нажатии правой кнопки мыши на любой директории):


Отныне, чтобы получить полный список в формате для печати содержимого папки, просто щелкните ее правой кнопкой мыши и выберите пункт меню «Отправить», а затем пункт «Печать содержимого папки».
Через несколько секунд ожидания, в зависимости от объема данных в выбранном каталоге, автоматически откроется Блокнот Windows. Нажав на меню File, Print, вы можете отправить список на принтер.

Файлы configura.vbs и Stampadir.bat можно удалить с жесткого диска: они больше не нужны Для удобства большинства специалистов укажем, что файл configura.vbs после запуска копирует и создает папку на жесткий диск под названием «stampadir» и скопировать на него файл «stampadir.bat». Вот строки кода, используемые для этого: Dim objFSO, objFolder, strDirectory, objEnv, filebat Set Shell = CreateObject («WScript.Shell») Set objEnv = Shell.Environment («PROCESS») strDirectory = objEnv («systemdrive» ) & «stampadir» Установите objFSO = CreateObject («Scripting.FileSystemObject»), если objFSO.FolderExists (strDirectory) = false, затем установите objFolder = objFSO.CreateFolder (strDirectory) end, если objFSO.CopyFile «stampadir.bat», strDirectory & . летучая мышь »

Второй шаг — создать ссылку на файл stampadirstampadir.bat в системной директории, где хранится содержимое меню «Отправить»:

Путь = Shell.SpecialFolders («SendTo») Установить ссылку = Shell.CreateShortcut (Путь & » Распечатать содержимое папки.lnk») link.Description = «Распечатать содержимое папки» link.IconLocation = «shell32.dll, 16» link.TargetPath = «%systemdrive%stampadirstampadir.bat» link.WindowStyle = 7 link.WorkingDirectory = «%systemdrive%stampadir» link.Save

Как видите, метод CreateShortcut позволяет создать новое соединение, для которого все различные характеристики являются определяющими. Значок, изображающий принтер, извлекается путем рисования содержимого библиотеки shell32.dll на шестнадцатой позиции.

С другой стороны, файл Stampadir.bat содержит следующие строки:

@echo off dir %1 /-p /s /o:gn > «%temp%dir.txt» start /w notepad «%temp%dir.txt» del «%temp%dir.txt» exit
Как видите, содержимое выбранной папки всегда сохраняется во временном файле (dir.txt), который затем удаляется.

Если вы хотите удалить вновь реализованный механизм, просто зайдите в папку %appdata%MicrosoftWindowsSendTo в случае Windows 7 или %userprofile%SendTo в Windows XP и удалите файл «Печать содержимого папки».

Наконец, вам придется удалить папку stampadir, созданную в корневом каталоге жесткого диска.

Мы проверили корректную работу скрипта как на платформе Windows 7, так и на Windows XP SP3.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *