【问题标题】:When calling an external program that writes to a file, how to redirect it to write to memory instead?调用写入文件的外部程序时,如何将其重定向到写入内存?
【发布时间】:2012-01-12 01:46:09
【问题描述】:

我正在使用 Powershell 调用现有的外部可执行文件,该可执行文件只能将其输出结果写入文件:

& myProgram.exe /outfile=tempfile.csv

但是,我宁愿将结果写入内存而不是临时文件,因为现在我必须执行Import-CSV 以将其放回内存以进行进一步处理。在一个循环中,写入和读取磁盘效率不是很高。

有什么想法吗?在 DOS 时代,我相信我可以使用 CON 设备文件将输出写入控制台并捕获该输出,但我找不到与 Powershell 类似的任何东西(除了 $null,这对我没有帮助:)

【问题讨论】:

  • 外部程序在做什么?你也许可以在 PowerShell 中做同样的事情 ;-)

标签: powershell


【解决方案1】:

如果外部程序被编写为始终将输出写入文件而不是 STDOUT,那么我认为您唯一的选择是读取文件。由于它是 CSV 数据,因此从外部程序的角度来看,无论如何输出到文件可能是有意义的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多