- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我正在执行的 PowerShell 窗口中:
Start-Process XXXXX.exe -ArgumentList "some valid arguments" -wait
-redirectStandardOutput "D:\\test1.txt"
并获得:
Start-Process : This command cannot be executed due to the error: The system cannot find the file specified.
At line:1 char:14
+ Start-Process <<<< XXXXX.exe -ArgumentList "some valid arguments here" -redirectStandardOutput "D:\\test1.txt"
+ CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
如果我省略 -redirectStandardOutput 参数(确实如此),我已经检查启动过程是否按预期工作。
test1.txt 是一个新文件,没有尝试追加。
令人吃惊的是,D:\上的 test1.txt 文件是在我运行该行时创建的,它仍然是空的。
有人知道这里发生了什么吗?谢谢。
编辑
我发现如果我运行:
Start-Process XXXXX.exe -ArgumentList "some valid arguments" -wait
-redirectStandardOutput "D:\\test1.txt"
它失败了(如最初发布的那样)如果我运行:
Start-Process XXXXX.exe -ArgumentList "some valid arguments" -wait
它工作正常但没有将控制台输出保存到文件如果我跑
Start-Process .\XXXXX.exe -ArgumentList "some valid arguments" -wait
-redirectStandardOutput "D:\\test1.txt"
它的效果与预期的差不多。那么,为什么我在使用重定向时需要指定路径,但当我不使用时它运行得很好?
编辑重述问题;关于当前目录中的脚本/exe 需要 ./前缀才能运行的要求,似乎存在一些不一致。当我不重定向输出时,不需要 ./。有人知道这是否是预期的行为吗?
最佳答案
RichyRoo,
您遇到的问题很可能是因为您的 XXXXX.exe 位置未在您的 PATH 环境变量中注册。
如果您尝试使用在您的 PATH 环境变量中定义的文件夹之一中注册的应用程序运行您的命令,它应该在没有尾随的情况下工作。\即:
Start-Process cmd.exe -ArgumentList "/c ping 127.0.0.1" -redirectStandardOutput "D:\ABC\test.txt" -Wait
我使用示例批处理文件尝试了第二个示例,如果没有在路径前加上前缀,它就无法工作。\- 它复制了您的行为。
因此,它通过在 xxxxx.exe 前加上 .\来限定您的 .exe 位置,因为我假设您在 shell 中的当前目录是您的 .exe 位置。
我还没有查过为什么当前路径没有被查看命令执行级别。
关于PowerShell 启动进程 -redirectStandardOutput 抛出 : The system cannot find the file specified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28845044/
我是一名优秀的程序员,十分优秀!