【问题标题】:Add value into three different variables from Foreach-Object将值添加到 Foreach-Object 的三个不同变量中
【发布时间】:2015-01-27 07:21:54
【问题描述】:

我有一个文件 (config.cfg),其中包含三个这样的字符串:host:user:pass

在我的 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 但找不到分配给三个变量的方法。

【问题讨论】:

    标签: powershell powershell-3.0


    【解决方案1】:

    PowerShell 从 Perl 和 Python 中学习,因此您可以这样做:

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

    【讨论】:

    • 太棒了!我确实更喜欢单行的东西。谢谢!
    【解决方案2】:

    您可以用冒号分割数据并分配每个元素:

    $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...
    

    【讨论】:

    • 运行良好且流畅。谢谢!
    猜你喜欢
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 2023-03-17
    相关资源
    最近更新 更多