File 无法使用powershell将变量名和内容作为字符串附加到文件中? 这是创建文件并将内容附加到其中的代码。我想打印文件内容,因为它在下面返回。请给出一些示例,说明如何使用$si打印变量名 输出是这样的 但我希望文件中的内容像这样
File 无法使用powershell将变量名和内容作为字符串附加到文件中? 这是创建文件并将内容附加到其中的代码。我想打印文件内容,因为它在下面返回。请给出一些示例,说明如何使用$si打印变量名 输出是这样的 但我希望文件中的内容像这样,file,powershell,variables,window,append,File,Powershell,Variables,Window,Append,“而不是”创建逐字记录字符串。将其构造为here字符串@'@,以避免终止字符串的文本中出现单引号: New-Item 2.bat -type file -force -value @' $passwd='Umesh_Pithiya' $pass=$passwd.substring(9) $pass=$pass.substring(1,$pass.length-2) $pass=convertto-securestring $pass -asplaintext -force '@ ”而不
“
而不是”
创建逐字记录字符串。将其构造为here字符串@'@
,以避免终止字符串的文本中出现单引号:
New-Item 2.bat -type file -force -value @'
$passwd='Umesh_Pithiya'
$pass=$passwd.substring(9)
$pass=$pass.substring(1,$pass.length-2)
$pass=convertto-securestring $pass -asplaintext -force
'@
”
而不是“
来创建逐字记录字符串。将其构造为here字符串@'@
,以避免终止字符串的文本中出现单引号:
New-Item 2.bat -type file -force -value @'
$passwd='Umesh_Pithiya'
$pass=$passwd.substring(9)
$pass=$pass.substring(1,$pass.length-2)
$pass=convertto-securestring $pass -asplaintext -force
'@
您可以使用:
请注意,现在不需要退出回车和换行。此外,使用单引号避免变量扩展。您可以使用:
请注意,现在不需要退出回车和换行。另外,使用单引号避免变量扩展。是否与here字符串冲突?@4c74356b41否,解析器需要换行符+
@
terminator@4c74356b41是的,@“
启动一个可展开的here字符串(就像之间的行为差异一样)
和”
,除此之外,终结者是不同的,因此您不需要转义引号本身)@4c74356b41将此粘贴到您的shell中以查看差异:要让powershell执行它,请将其命名为2.ps1
而不是2.bat
不会与here字符串发生冲突?@4c74356b41否,解析器要求换行符+@
作为terminator@4c74356b41是的,@“
启动一个可展开的here字符串(就像”
和“
之间的行为差异一样,除了终止符不同之外,您不需要转义引号本身)@4c74356b41将其粘贴到您的shell中以查看区别:要让powershell执行它,请将其命名为2.ps1
,而不是2.bat
,谢谢Sean,它起作用了,但整个内容都在一行中。你知道如何在每句话的结尾加上新行吗?谢谢肖恩,这很有效,但整个内容都是一行。你知道如何在每句话的末尾加新行吗?
$passwd='Umesh_Pithiya'
$pass=$passwd.substring(9)
$pass=$pass.substring(1,$pass.length-2)
$pass=convertto-securestring $pass -asplaintext -force
'
New-Item 2.bat -type file -force -value @'
$passwd='Umesh_Pithiya'
$pass=$passwd.substring(9)
$pass=$pass.substring(1,$pass.length-2)
$pass=convertto-securestring $pass -asplaintext -force
'@
New-Item 2.bat -type file -force -value @'
$passwd='Umesh_Pithiya'
$pass=$passwd.substring(9)
$pass=$pass.substring(1,$pass.length-2)
$pass=convertto-securestring $pass -asplaintext -force
'@