如何在PowerShell中通过Path或别名运行Code.exe并重定向错误?
解决U盘版VS Code在PowerShell中的错误输出与code.cmd异常问题
一、抑制终端错误输出
那些干扰性的日志是VS Code输出到标准错误流(stderr)的信息,只需在调用时将错误流重定向到空即可,同时完全保留打开文件/文件夹的功能。你可以通过定义PowerShell函数来实现:
# 替换为你U盘上Code.exe的实际路径;若已将路径加入$env:Path,可直接用Code.exe function code { & "E:\PortableApps\VSCode\Code.exe" $args 2>$null }
把这个函数添加到你的PowerShell配置文件(运行$PROFILE可查看路径)中,下次启动PowerShell后,直接用code file1.txt file2.txt调用,就不会再看到那些错误信息了。
二、解决code.cmd的文件打开异常
你遇到的'#'未被识别为内部或外部命令错误,是因为code.cmd作为批处理脚本,对包含特殊字符(如#、空格、&等)的文件名处理逻辑存在缺陷——批处理本身的语法特性导致这类场景容易出错。而你目前使用的mklement0的PowerShell函数方案,因PowerShell对特殊字符参数的处理更鲁棒,能完美规避这类问题,是更可靠的选择。
内容的提问来源于stack exchange,提问作者Todd Partridge
相关产品推荐
相关产品推荐

