V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
youla
V2EX  ›  程序员

我写了一条 powershell 命令,希望 shift+右键打开 powershell 新窗口不要保存历史记录。

  •  
  •   youla · 2020-09-17 21:45:58 +08:00 · 1383 次点击
    这是一个创建于 1559 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在运行起来,看上去是正常的,但是按↑键往上翻会翻到我的命令里面-Command 传递的参数

    可是我明明已经执行过 [Microsoft.PowerShell.PSConsoleReadLine]::ClearHistory()清除历史的命令了。

    在 powershell.exe 里面直接运行没问题,但是放到注册表里就不行了。

    麻烦大家帮我看看哪里错了。

    wt new-tab powershell.exe -NoExit -Command Set-Location -literalPath '%V'|Set-PSReadLineOption -HistorySaveStyle SaveNothing|& {[Microsoft.PowerShell.PSConsoleReadLine]::ClearHistory()}
    

    虽然会出现一条记录,并不影响使用,但是不完美呀。

    第 1 条附言  ·  2020-09-19 02:50:53 +08:00
    # 已经解决,Powershell新窗口不保存历史记录。
    
    wt new-tab powershell.exe -NoExit -Command Set-Location -literalPath '%V'|powershell.exe -Command Set-PSReadLineOption -HistorySaveStyle SaveNothing|& {[Microsoft.PowerShell.PSConsoleReadLine]::ClearHistory()}
    
    
    # 如果没有装Windows Terminal,去掉最前面的wt new-tab。
    
    # 应该有人用得着吧~~
    
    第 2 条附言  ·  2020-09-19 02:53:07 +08:00

    发现写错了,当我没来过。。

    第 3 条附言  ·  2020-09-19 12:03:08 +08:00

    这次真的解决了,就这样吧

    wt new-tab powershell.exe -NoExit -Command Set-Location -literalPath '%V'|echo "" > (Get-PSReadlineOption).HistorySavePath
    

    打开powershell时直接把历史记录文件清空了

    不喜欢看到历史记录

    添加到注册表

    计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\Powershell\command

    6 条回复    2020-09-18 14:59:00 +08:00
    youla
        1
    youla  
    OP
       2020-09-17 22:02:37 +08:00
    我先去洗洗睡,明天早上我必须要看到解决方案,我的程序员们!/doge
    youla
        2
    youla  
    OP
       2020-09-18 07:40:25 +08:00 via Android
    早上好~
    Lain00
        3
    Lain00  
       2020-09-18 08:11:15 +08:00 via Android
    这个脚本我看不懂
    我实践中发现 ClearHistory 不能清除历史记录
    Remove-Item (Get-PSReadlineOption).HistorySavePath
    这是我在网上找到的可以清楚历史记录的
    youla
        4
    youla  
    OP
       2020-09-18 09:17:34 +08:00
    @Lain00 [Microsoft.PowerShell.PSConsoleReadLine]::ClearHistory()是清空输入的历史,不是历史记录文件,就是按上键往上翻的那个记录。
    youla
        5
    youla  
    OP
       2020-09-18 09:18:31 +08:00
    @Lain00 我已经使用了 Set-PSReadLineOption -HistorySaveStyle SaveNothing,是不存储历史记录。
    Lain00
        6
    Lain00  
       2020-09-18 14:59:00 +08:00 via Android
    我不懂😂
    让会的人来回答吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5648 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 06:07 · PVG 14:07 · LAX 22:07 · JFK 01:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.