2015-01-26 14 views
0

我有一個文件(的config.cfg),其中有三個字符串像這樣:host:user:pass添加值到三個不同的變量來自的foreach對象

在我的Unix程序代碼,我這樣做是爲了獲取和價值分配成三不同的變量:

$FTP_HOST=$(cut -f1 -d: config.cfg) 
    $FTP_USER=$(cut -f2 -d: config.cfg) 
    $FTP_PASS=$(cut -f3 -d: config.cfg) 

我該如何在PowerShell 3.0中做到這一點?我曾嘗試使用Foreach-Object,但無法找到將其分配到三個變量的方法。

回答

2

PowerShell與Perl中瞭解到和Python,所以你可以這樣做:

$FTP_HOST, $FTP_USER, $FTP_PASS = (Get-Content .\config.cfg) -split ':' 
+0

太棒了!我更喜歡單行的東西。謝謝! – Victor 2015-01-27 21:17:21

1

可以通過結腸分割數據,並且每個元素分配:

$config = Get-Content config.cfg 
$FTP_HOST = ($config -split ":")[0] 
$FTP_USER = ($config -split ":")[1] 
$FTP_PASS = ($config -split ":")[2] 

或預分割的數據到一個數組,然後分配數組元素:

$config = Get-Content config.cfg 
$carry = $config -split ":" 
$FTP_HOST = $carry[0] 
#etc... 
+0

工程很好,順利。謝謝! – Victor 2015-01-27 21:16:47

相關問題