我正在尝试制作一个 txt 文件并将一些内容应用于多个字符串
这是我到目前为止所做的:
$Filename = "Jessica,Jimmy,Adam"
$Content = ({Whoisthesmartest=})
$Splitname = get-childitem $Filename -split ","
new-item c:\test.txt -itemtype file -value $Content + $Splitname
但这没有用。
我想要实现的是一个包含内容的txt文件:
Whoisthesmartest=Jessica
Whoisthesmartest=Jimmy
Whoisthesmartest=Adam
您需要单独处理数组
$SplitName
的元素,您可以通过在管道中枚举它来完成...
ForEach-Object
处理每个元素...
Set-Content
将结果保存到输出文件
Set-Content
会悄悄地覆盖现有文件,New-Item
只有在添加-Force
.$Filename = "Jessica,Jimmy,Adam"
$Content = 'Whoisthesmartest=' # Note: Use a *string*, not {...}
$Splitname = $Filename -split "," # No need for Get-ChildItem - unless I'm missing something.
$Splitname |
ForEach-Object { $Content + $_ } |
Set-Content c:\test.txt
至于你尝试了什么:
$Content = ({Whoisthesmartest=})
这会将一个脚本块(
{ ... }
)(不必要地包裹在(...)
中)分配给$Content
,而您正在寻找string:
$Content = 'Whoisthesmartest='
... -value $Content + $Splitname
$Content + $Splitname
是一个 expression,为了使表达式用作 command argument,它必须 包含在 (...)
:
... -value ($Content + $Splitname)
$Splitname = get-childitem $Filename -split ","
既然
$SplitName
是一个string你想分裂,没有理由涉及Get-ChildItem
;除此之外,该语句具有与上述相同的问题:表达式 $Filename -split ","
缺少 (...)
enclosure.