簡體   English   中英

將字符串數組從Powershell傳遞到C#

[英]Passing a string array from powershell to C#

我想從powershell調用C#程序,並將參數數組從powershell傳遞到C#程序。 C#程序采用文件路徑,日期和文件擴展名並處理這些文件。

在我擁有的powershell腳本中,我將所有字符串存儲在字符串數組中,並在start-process使用-argumentlist開關傳遞該字符串。

由於這些文件路徑在我的工作中,因此我將為示例組成一些文件路徑。 該腳本的名稱是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腳本,以便這些參數正確傳遞?

我努力了

  1. 用雙引號替換雙引號
  2. 用雙引號括住每個參數,用單引號括住文件路徑

如果我打電話,這可以工作:

start-process .\ABetterProductionImport.exe "C:\my images,20130412,dat"

編輯:但是,如果我從編寫的腳本中調用相同的命令,將無法正常工作。 再說一遍,如何編寫Powershell腳本以使其正確運行?

找到了答案。 如果我打電話

.\ABetterProductionImport.exe $ParametersToPass 

完全沒有啟動過程或任何有效的方法。 哪個好

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM