Возможно ли с PowerShell автоматизировать задачу при открытии или закрытии файла? Более конкретно: если я щелкну правой кнопкой мыши по файлу, появится "контекстное меню", возможно ли запустить один из этих пунктов в меню автоматически при открытии и / или закрытии файла?

1 ответ1

0

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

Насколько я понимаю, вы хотите сделать возможным наличие элемента контекста в проводнике, который, если вы щелкнете правой кнопкой мыши по файлу, выберите запись, он запустит 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 пуст, то вы знаете, что файл не был проанализирован.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .