2

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

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

ч 56 | Флорида

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

2 ответа2

2

Не чистое решение Powershell, но вы можете передать его в clip.exe, а затем вставить его в консоль. Еще два шага, но ваша строка должна быть правильно обернута. Если вы используете XP, вам может потребоваться скопировать файл clip.exe из системы Server 2003.

(h 56).CommandLine | clip.exe
2

Не удается найти способ выполнения powershell в powershell, но вы можете выполнить исполняемый файл powershell и передать команду powershell, и это сработает. Может вызвать проблемы с областью в зависимости от того, что вы делаете.

& powershell $(h 56).CommandLine

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