Windows PowerShell

Windows PowerShell

Можно ли с помощью powershell автоматизировать задачу при открытии или закрытии файла? А именно: если я щелкну правой кнопкой мыши по файлу, появится «контекстное меню», можно ли автоматически запустить один из пунктов меню при открытии и/или закрытии файла?

решение1

Я не совсем уверен, что понял ваш вопрос, поэтому позвольте мне перефразировать его своими словами, чтобы вы могли убедиться, что мы говорим об одном и том же.

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

Посмотрите этот вопрос, чтобы узнать, что вам нужно в скрипте Powershell для получения аргументов файла:https://stackoverflow.com/questions/2157554/как-обрабатывать-аргументы-командной-строки-в-powershell(Позже в этом ответе я приведу пример кода)

Теперь в реестре в разделе HKEY_CLASSES_ROOT, в разделе * вам необходимо создать новый набор ключей для вашего пункта контекстного меню.

Создайте следующую структуру папок: *\MyScript\Command\Open

Назовите MyScript как угодно. Он появится в контекстном меню.

Укажите параметр по умолчанию для параметра «Открыть» полный путь к PowerShell, затем полный путь к вашему скрипту, а затем -file %1 для самого файла.

В вашем скрипте теперь вы можете использовать

param (
    [string]$file = ""
)

Если вы проверите, пуст ли $file, то вы будете знать, что ни один файл не был проанализирован.

Связанный контент