首页 > 解决方案 > 如何在 PowerShell 中转义空间?

问题描述

我在 PowerShell 中运行此命令

Start-Process -FilePath 'C:\Program Files\Typora\Typora.exe' -ArgumentList 'C:\Users\Administrator\Desktop\Hello world.md'

但是 Typora 说

C:\User\Administrator\world.md 不存在

看起来 PowerShell 执行

Start-Process -FilePath 'C:\Program Files\Typora\Typora.exe' 
     -ArgumentList 'C:\Users\Administrator\Desktop\Hello' 'world.md'

我想逃离这个空间,但单引号不起作用......

PowerShell 版本:5.1.19041.610

标签: powershellescaping

解决方案


调用外部可执行文件时,PowerShell 可能无法正确引用字符串。看

因此,要解决此问题,您需要通过"正确转义将文字传递给 exe 文件

Start-Process -FilePath 'C:\Program Files\Typora\Typora.exe' `
    -ArgumentList '"C:\Users\Administrator\Desktop\Hello world.md"'

推荐阅读