2013-12-12 73 views
0

我一直能夠通過搜索功能找到我一直在尋找堆棧溢出的東西。然而這一次我有點卡住了,雖然我會突然發問並詢問社區。在一行中寫入兩個數組到一個文件,Powershell

我想從兩個數組寫入到數據文件中,例如:

$arrayString = @(「User1″, 「User2″, 「User3″) 
$arrayInteger = @(1, 2, 3) 

,我不知道的線路是寫這我已經嘗試了文件中的以下行:

Add-Content $filePath$ ($arrayString[0] $arrayinteger[0]) 

當我做到這一點我得到錯誤「意外令牌‘arrayinteger’在表達式或語句

我也曾嘗試:

Add-Content $filePath$ ($arrayString[0] + $arrayinteger[0]) 

我得到的錯誤「方法調用失敗,因爲[System.IO.DirectoryInfo]不包含名爲'op_Addition'的方法。」我的理解是我試圖「添加」一個字符串和一個導致錯誤的整數。

但是,如果我嘗試將線寫這部作品的控制檯:

write-host $arrayString[0] $arrayinteger[0] 

的目標輸出我想要得到的

User1 1 
User2 2 
User3 3 

感謝您的幫助。

回答

1

這裏有幾個不同的方法來解決這個問題:

$arrayString = @("User1","User2","User3") 
$arrayInteger = @(1, 2, 3) 

在擴展字符串使用的子表達式:

$(for ($i=0; $i -le 2;$i++) 
{ 
    "$($arrayString[$i]) $($arrayInteger[$i])" 
})| set-content $filepath 

使用格式字符串:

$(for ($i=0; $i -le 2;$i++) 
{ 
    '{0} {1}' -f $arrayString[$i],$arrayInteger[$i] 
}) | set-content $filepath 
+0

好極了!謝謝! 我結束了使用子表達式的方法,這個工作首先去。標記爲已回答 – user3093729

相關問題