首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PowerShell中重定向标准输入\输出

在PowerShell中重定向标准输入\输出
EN

Stack Overflow用户
提问于 2012-07-12 16:10:41
回答 4查看 59.1K关注 0票数 71

在PowerShell上重定向标准输入/输出所需的语法是什么?

在Unix上,我们使用:

代码语言:javascript
复制
$./program <input.txt >output.txt

如何在PowerShell中执行相同的任务?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-03 10:33:58

您不能将文件直接挂接到stdin,但是您仍然可以访问stdin。

代码语言:javascript
复制
Get-Content input.txt | ./program > output.txt
票数 88
EN

Stack Overflow用户

发布于 2012-07-12 16:30:11

对于输出重定向,您可以使用:

代码语言:javascript
复制
  command >  filename      Redirect command output to a file (overwrite)

  command >> filename      APPEND into a file

  command 2> filename      Redirect Errors 

输入重定向以不同的方式工作。例如,请参阅此Cmdlet http://technet.microsoft.com/en-us/library/ee176843.aspx

票数 10
EN

Stack Overflow用户

发布于 2019-09-28 02:52:27

或者你可以这样做:

类似于:

代码语言:javascript
复制
$proc = Start-Process "my.exe" "exe commandline arguments" -PassThru -wait -NoNewWindow -RedirectStandardError "path to error file" -redirectstandardinput "path to a file from where input comes"

如果您想知道进程是否出错,请添加以下代码:

$exitCode = $proc.get_ExitCode()

代码语言:javascript
复制
if ($exitCode){
    $errItem = Get-Item "path to error file"
    if ($errItem.length -gt 0){
        $errors = Get-Content "path to error file" | Out-String
    }
}

我发现这样,当你需要处理外部程序/进程时,我可以更好地处理你的脚本的执行。否则,我会遇到脚本在某些外部进程错误时挂起的情况。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11447598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档