我知道 Invoke-History 命令(别名 r)可以调用并执行上一个命令,例如 r 29,但是有没有办法调用命令 29 但不执行它,即将其放入当前行,然后在运行前进行编辑?有点像多次按向上箭头?对于很长的历史记录,返回编辑并运行较早的命令确实很麻烦。
我知道我可以做这样的事情来回忆命令的文本:
高 56 | 高度
然后复制并粘贴,但由于长命令会超过一行,因此您必须将其复制并粘贴到编辑器中,连接各行,然后再复制并粘贴回去。真是麻烦!
答案1
找不到在 powershell 中执行 powershell 的方法,但您可以执行 powershell 可执行文件并传递 powershell 命令,这样就可以了。根据您正在执行的操作,可能会导致范围问题。
& powershell $(h 56).CommandLine
答案2
这不是纯粹的 Powershell 解决方案,但您可以将其导入 clip.exe,然后将其粘贴到控制台。仍然需要两个步骤,但您的行应该可以正确换行。如果您使用的是 XP,则可能需要从 Server 2003 系统复制 clip.exe。
(h 56).CommandLine | clip.exe