Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何订阅;用户输入命令以提示;powershell中的事件?_Powershell - Fatal编程技术网

如何订阅;用户输入命令以提示;powershell中的事件?

如何订阅;用户输入命令以提示;powershell中的事件?,powershell,Powershell,我想实现输入到powershell的命令的增量历史记录。我发现了很多关于相同历史的相关问题,只在退出时才发现。解决方案就在这里 Register-EngineEvent -SourceIdentifier powershell.exiting -SupportEvent -Action { Save-History } 我发现它不方便,因为它不适用于多个tabs/ps实例。我想要的是调用SaveHistoryIncremential,它附加到现有的csv文件历史记录中 但我不知道如何在用户输入

我想实现输入到powershell的命令的增量历史记录。我发现了很多关于相同历史的相关问题,只在退出时才发现。解决方案就在这里

Register-EngineEvent -SourceIdentifier powershell.exiting -SupportEvent -Action { Save-History }
我发现它不方便,因为它不适用于多个tabs/ps实例。我想要的是调用SaveHistoryIncremential,它附加到现有的csv文件历史记录中

但我不知道如何在用户输入命令后立即回调这个函数

解决方法: 我现在最接近的解决方法是alter prompt:

Rename-Item Function:\prompt oldprompt
function prompt {
    Save-HistoryIncremental
    oldprompt
}

这里的行为是oposit:它在执行oh命令后保存历史记录(并在开始时复制最后一条记录)。

我不确定是否完全理解您的要求,但这有帮助吗

基本上,您可以在powershell配置文件中添加“开始记录”。
这将记录您在多个powershell实例中执行的所有操作,我认为…

JFYI,这里是概念验证存储库1)它为您创建会话记录。所以你们可以搜索,等等。但我正在寻找一种增量的方法来保存会话的历史记录。因此,我可以键入类似“#cp”的内容,并找到具有一些长路径的复制记录。2) 它在powershell中不起作用