我有一个强大的脚本来获取,解析并使用来自.csv文件的一些数据。要运行脚本,我可以使用
。\ script.ps1 -d data_file.csv
问题是我无法干扰脚本本身,这就是为什么我需要创建某种包装器,它将创建新的csv文件并使用带有新文件的script.ps1。我想知道是否有可能创建一个csv文件作为一个对象,将直接传递给这样的命令
。\ script.ps1 -d csv_file_as_object.csv
不在某个路径目录中创建文件。
答案 0 :(得分:1)
在这种情况下,您需要的是相当于Bash&#39; cordova-plugin-bluetoothle (<(...)
),简而言之,它将允许您将命令的输出显示为输出路径的临时文件的内容:
.\scripts.ps1 -d <(... | ConvertTo-Csv) # !! does NOT work in PowerShell
注意:... | ConverTo-Csv
代表将原始CSV转换为内存所需的任何命令。
PowerShell 中不存在此类功能,但process substitution。
如果 .\scripts.ps1
碰巧也接受 stdin 输入(通过伪路径-
表示stdin输入),你可以试试:
... | ConvertTo-Csv | .\script.ps1 -d -
否则,您唯一的选择是:
.\script.ps1