在文本文件中存储字符串变量

问题描述:

我想创建一个(空白)文件,并可以在其中存储文本消息。这是我的代码:在文本文件中存储字符串变量

$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>" 
} 
+0

良好,即固定它。你可能猜测我是PS新手,语法有时似乎仍然是_quite_ round-about。 – KlaymenDK

+0

@KlaymenDK这里给你一些_really different_语法:'$ {c:\ temp \ afile.txt} =“使用赋值语句写入文件的内容”。这种不寻常的语法是由于PS对_providers_('help about_providers')的支持。 –