我在编写第一个基本 PowerShell 实用程序时遇到了问题。我需要打开一个资源管理器窗口并选择一个文件,但无法正确获取命令的语法。
我在/sf/answers/851399881/上找到了这个答案,并阅读了这个关于外部命令的优秀博客,http://edgylogic.com/blog/powershell-and-external-commands- done-right/ - 但仍然无法让它工作。
这是我的示例脚本(test.ps1):
$myFile = "C:\Projects\Scripts\any.txt"
# The backslash-backticks are to escape the speech marks, once for PowerShell and then again for DOS
& "C:\Projects\Scripts\EchoArgs.exe" /select",\`"$myFile\`""
& "explorer" /select",\`"$myFile\`""
Run Code Online (Sandbox Code Playgroud)
..这是调用它的批处理文件,以防我调用 PowerShell 脚本的方式出现问题:
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& 'C:\Projects\Scripts\test.ps1'"
Run Code Online (Sandbox Code Playgroud)
我尝试了几种不同的组合,echoargs 的输出表明语法是正确的(假设资源管理器的参数字符串被视为单个字符串),但无论我尝试什么,都只是在“我的文档”和参数上打开一个资源管理器窗口被忽视/被扔到某个地方。
MSDN 页面上关于 explorer.exe 开关的内容说逗号是一个空参数,也许这就是我需要通过以不同方式格式化命令来提供的内容?