在文本文件中存储字符串变量
问题描述:
我想创建一个(空白)文件,并可以在其中存储文本消息。这是我的代码:在文本文件中存储字符串变量
$null = new-item "$filename" -type file
write-output ("Message: <<$message>>")
if (-not ($message= "")) {
Add-Content "$filename" "Message: <$message>"
}
第一行创建文件。这工作。 第二行直观地验证我确实提供了一个字符串(比如,谚语“hello world”)。 第三行评估为$true
并执行其嵌套块。 但第四行存储消息说:Message: <>
。
我找不出合适的语法来通过实际值从$message
。帮帮我?
答
您使用错误的运算符来比较$message
值。见Get-Help about_comparison_operators
。
通过说if (-not ($message= ""))
,你实际上集$message
的值是一个空字符串。
相反,使用-eq
,-ne
或只是简单地测试它:
# Option 1
if (-not ($message -eq "")) {
Add-Content "$filename" "Message: <$message>"
}
#Option 2
if ($message -ne "") {
Add-Content "$filename" "Message: <$message>"
}
#Option 3
if ($message) {
Add-Content "$filename" "Message: <$message>"
}
良好,即固定它。你可能猜测我是PS新手,语法有时似乎仍然是_quite_ round-about。 – KlaymenDK
@KlaymenDK这里给你一些_really different_语法:'$ {c:\ temp \ afile.txt} =“使用赋值语句写入文件的内容”。这种不寻常的语法是由于PS对_providers_('help about_providers')的支持。 –