Напомним команду PowerShell для редактирования

610
munrobasher

Я знаю о команде Invoke-History (псевдоним r) для вызова и выполнения предыдущей команды, например, r 29, но есть ли способ вызвать команду 29, но не выполнить ее, т. Е. Поместить ее в текущую строку, которую можно редактировать перед запуском? Немного похоже на нажатие стрелки вверх несколько раз? При долгой истории возвращение к редактированию, запуску и более ранней команде - это правильная боль.

Я знаю, что могу сделать что-то вроде этого, чтобы вспомнить текст команды:

ч 56 | Флорида

И затем копировать и вставлять, но с длинными командами, заключенными в строку, вы должны скопировать и вставить в редактор, соединить строки, а затем скопировать и вставить обратно. Правильно!

2
Это не соответствует критериям вашего ответа, но DOSKEY.exe работает в PowerShell. Может быть, это немного поможет. http://www.computerhope.com/doskeyhl.htm Keltari 10 лет назад 0

2 ответа на вопрос

2
rob

Can not find a way of executing powershell within powershell but you can execute the powershell executable and pass the powershell command and it works. Might cause problems with scope depending what you are doing.

& powershell $(h 56).CommandLine 
2
Spamwich

Not a pure Powershell solution, but you could pipe it into clip.exe and then paste it to the console. Still two steps but your line should wrap properly. If you are using XP you might need to copy clip.exe from a Server 2003 system.

(h 56).CommandLine | clip.exe 
Не должно ли это быть `$ (h 56)`. Также можно использовать `Set-Clipboard` вместо` clip.exe`. Хорошая идея, хотя. CJBS 6 лет назад 0

Похожие вопросы