我有一个强大的脚本,可以获取,解析并使用.csv文件中的一些数据。要运行我可以使用的脚本
。\ script.ps1 -d data_file.csv
问题是我无法干扰脚本本身,这就是为什么我需要创建某种包装器,它将创建新的csv文件并使用script.ps1和新建的文件。我想知道是否有可能创建一个csv文件作为一个对象,将直接传递给这样的命令
。\ script.ps1 -d csv_file_as_object.csv
无需在某个路径目录中创建文件。
发布于 2018-12-06 10:08:57
什么你需要在这种情况下是bash的等效进程替换(<(...)
),其中,概括地说,将允许您提出一个命令的输出为内容的临时文件,其路径是输出:
.\scripts.ps1 -d <(... | ConvertTo-Csv) # !! does NOT work in PowerShell
注意:... | ConverTo-Csv
表示将原始CSV转换为内存所需的任何命令。
自Windows PowerShell v5.1 / PowerShell Core v6.1起,PowerShell中不存在此类功能,但已提出此功能。
如果 .\scripts.ps1
碰巧也接受stdin输入(通过-
指示stdin输入的伪路径),你可以尝试:
... | ConvertTo-Csv | .\script.ps1 -d -
否则,您唯一的选择是:
.\script.ps1
https://stackoverflow.com/questions/-100005111
复制相似问题