当前位置:  开发笔记 > 开发工具 > 正文

如何在PowerShell上转义命令行参数?

如何解决《如何在PowerShell上转义命令行参数?》经验,为你挑选了2个好方法。

看来我可以使用单引号或双引号来转义命令行参数:

PS C:\> echo Hello World
Hello
World
PS C:\> echo 'Hello World'
Hello World
PS C:\> echo "Hello World"
Hello World

但是仍然有一些我无法弄清楚的东西,当你希望从包含空格的目录中运行可执行文件时:

PS C:\> c:\program files\test.exe
The term 'c:\program' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.
At line:1 char:11
+ c:\program  <<<< files\test.exe
PS C:\> 'c:\program files\test.exe'
c:\program files\test.exe
PS C:\> "c:\program files\test.exe"
c:\program files\test.exe
PS C:\>

如何让PowerShell运行上面的可执行文件?



1> Rad..:

尝试在命令之前放置一个&符号.例如

& 'C:\Program Files\winscp\winscp.exe'



2> EBGreen..:

用这个:

. "c:\program files\test.exe"

实际上更好的解决方案是:

Invoke-Item "c:\program files\test.exe"

或使用别名:

ii "c:\program files\test.exe"

使用Invoke-Item意味着将使用正确的Windows文件处理程序.因此,对于EXE文件,它将运行它.例如,对于.doc文件,它将在Microsoft Word中打开它.

这是最方便的PowerShell命令行之一.试试看:

ii .

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有