5

Команда start (в PowerShell псевдоним для Start-Process , в cmd.exe встроенная оболочка) действует так же, как действие «Открыть» контекстного меню проводника Windows: она открывает файл с помощью приложения, зарегистрированного для него Windows.

(Или есть небольшие различия? Или, может быть, он запускает действие по умолчанию, которое обычно является действием «Открыть»?)

Как запустить действие «Редактировать» для файла из командной строки?

2 ответа2

5

Глагол "Edit" действительно вызывает действие "Edit".
(Я проверил это, изменив "Edit" для .reg файлов в реестре и выполнив команду.)

Поскольку вы сделали свой ответ "частичным ответом" , вы хотите знать, как вы будете делать это в cmd.exe? Я не думаю, что это можно сделать изначально в "cmd.exe".

Есть конечно ShelExec.

Но вы также можете запустить powershell -command "start -verb edit textfile.txt" в cmd.exe .

Вы даже можете поместить это в ярлык с doskey как это:

doskey cmdedit=powershell -command "start -verb edit $1"

Теперь вы можете сделать cmdedit textfile.txt на cmd.exe -propt.

Примечание: чтобы doskey-'macro 'был доступен после перезапуска сеанса computer/cmd, вам нужно добавить эту команду в ваши скрипты запуска. Вы можете посмотреть здесь некоторые предложения, чтобы сделать его постоянным.
Я бы пошел за вариант положить его в
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun .


Редактировать:

Этот файл .reg делает все за вас:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"AutoRun"="doskey cmdedit=powershell -command \"start -verb edit $1\""
3

(Частичный ответ, который я обнаружил, когда набирал вопрос.)

Для PowerShell я обнаружил следующее:

start -verb edit ...filename...

Документация (из get-help start-process -full):

-Verb <string>
    Specifies a verb to be used when starting the process, such as Edit, Open, or Print.

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