2

Я использую kramdown для преобразования моих исходных файлов в формате markdown в html. Команда, которую я использовал:

kramdown %filename | Out-Clipboard

(Out-Clipboard из фантастического PSCX. Это означает, что мой отформатированный html сразу готов для вставки в другую программу или редактор)

Я хотел бы упростить этот процесс и иметь возможность использовать пункт контекстного меню, чтобы сделать то же самое, вместо того, чтобы открывать оболочку и вводить команду каждый раз. Как лучше всего передать эти инструкции в powershell и добавить их в качестве опции меню?

1 ответ1

6

Вы можете запускать команды PowerShell из командной строки (командные файлы и т.д.), Используя этот формат:

C:\> PowerShell <PowerShell command you want to run>

например:C:\> PowerShell "kramdown MyFileName.txt | Out-Clipboard"

Таким образом, мы можем использовать это в элементе контекстного меню.

Для простоты вот как вы можете добавить новую команду контекстного меню, чтобы запустить ее для любого файла, который вы выбрали / щелкнули правой кнопкой мыши (это, вероятно, не единственный способ сделать это):

  • Перейдите к HKEY_CLASSES_ROOT\*\shell в реестре.
  • Создайте новый ключ с именем, что вы хотите (например, сказать "Kramdown").
  • Установите значение REG_SZ по умолчанию для этого нового ключа для текста, который вы хотите отобразить в контекстном меню (например, скажем "Kram This Down").
  • Создайте еще один новый Ключ внутри ключа, который вы только что сделали, и назовите его "команда".
  • Установите значение REG_SZ "Default" в этой новой клавише "command", чтобы выполнить нужную команду.

Команда, которую вы хотите ввести, похожа на приведенную выше, только нам нужно сказать ей сделать это в командной строке и использовать переменную% 1, чтобы она знала файл, по которому вы щелкнули:

cmd /C PowerShell "kramdown %1 | Out-Clipboard"

/C заставляет окно CMD закрываться после того, как это сделано.

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

Поскольку у меня нет ваших исходных файлов, Kramdown или Out-Clipboard, я не могу проверить это на 100%; но этой информации должно быть достаточно, чтобы вы начали, если она не «просто работает» как есть. :)

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