Возможно ли с PowerShell автоматизировать задачу при открытии или закрытии файла? Более конкретно: если я щелкну правой кнопкой мыши по файлу, появится "контекстное меню", возможно ли запустить один из этих пунктов в меню автоматически при открытии и / или закрытии файла?
1 ответ
Я не совсем уверен, что понимаю ваш вопрос, поэтому позвольте мне перефразировать ваш вопрос своими словами, чтобы вы могли убедиться, что мы говорим здесь об одном и том же.
Насколько я понимаю, вы хотите сделать возможным наличие элемента контекста в проводнике, который, если вы щелкнете правой кнопкой мыши по файлу, выберите запись, он запустит powershell с одним из ваших сценариев и проанализирует имя файла выбранного вами файла. в качестве дополнительного аргумента.
Посмотрите этот вопрос, чтобы узнать, что вам нужно в вашем скрипте Powershell для получения аргументов файла: https://stackoverflow.com/questions/2157554/how-to-handle-command-line-arguments-in-powershell (я буду приведите пример кода позже в этом ответе)
Теперь в реестре под HKEY_CLASSES_ROOT под * вам нужно создать новый набор ключей для вашего элемента контекстного меню.
Создайте следующую структуру папок:*\MyScript\Command\Open
Назовите MyScript как угодно. Это будет отображаться в контекстном меню.
Задайте для параметра по умолчанию значение Открыть полный путь к PowerShell, затем полный путь к сценарию и -file% 1 для самого файла.
В вашем скрипте теперь вы можете использовать
param (
[string]$file = ""
)
Если вы проверите, если $ file пуст, то вы знаете, что файл не был проанализирован.