【问题标题】:Writing two arrays in one line to a file, Powershell将一行中的两个数组写入文件,Powershell
【发布时间】:2013-12-30 08:02:01
【问题描述】:

我一直能够通过搜索功能找到我一直在寻找的堆栈溢出内容。不过这次我有点卡住了,虽然我会出去问问社区。​​p>

我正在尝试使用来自两个数组的数据写入文件,例如:

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

我不确定的行是将其写入文件的行我尝试过以下操作:

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

当我这样做时,我在表达式或语句中收到错误“Unexpected token “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

感谢您的帮助。

【问题讨论】:

    标签: arrays string powershell integer addition


    【解决方案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
    

    【讨论】:

    • 太棒了!谢谢!我最终使用了子表达式方法,这首先起作用。标记为已回答
    猜你喜欢
    • 2015-11-25
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    相关资源
    最近更新 更多