我想从 powershell 调用一个 C# 程序,并将一组参数从 powershell 传递给 C# 程序。C# 程序采用文件路径、日期和文件扩展名并操作这些文件。
在我拥有的 powershell 脚本中,我将所有字符串存储在一个字符串数组中,并使用 in 中的-argumentlist
开关传递该字符串start-process
。
由于这些文件路径在我的工作中,我将组成一些文件路径作为示例。这个脚本的名字是ProductionImportCaller
$ParametersToPass = "C:\my images,20130412,dat", "C:\my images\curiosity,20130412,bif"
Start-Process -FilePath C:\Users\ABetterProductionImport.exe
-ArgumentList $ParametersToPass
以上在我的脚本中没有新行。我只是在这里换行,这样更容易阅读。
当我调用.\ProductionImportCaller
传递的数组时:
c:\my
images,20130412,dat
c:\my
images\curiosity,20130412,bif
这是我不想要的。
所以这是我的问题:如何编写我的 powershell 脚本以便这些参数正确传递?
我努力了
- 用单引号代替双引号
- 每个参数用双引号括起来,文件路径用单引号括起来
如果我打电话,这有效:
start-process .\ABetterProductionImport.exe "C:\my images,20130412,dat"
编辑:但是如果我从我编写的脚本中调用相同的命令,这将不起作用。再说一遍,我如何编写一个 powershell 脚本来使它正确运行?