我想从powershell调用一个C#程序,并将一系列参数从powershell传递给C#程序。 C#程序获取文件路径,日期和文件扩展名并操作这些文件。
在PowerShell脚本中,我将所有字符串存储在字符串数组中,并使用-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脚本来使其正常运行?
答案 0 :(得分:2)
找到答案。如果我打电话
.\ABetterProductionImport.exe $ParametersToPass
完全没有启动过程或任何有效的东西。哪个好。