Powershell使用Backtick创建新线-怪异
例1中发生了什么?这是如何解析的Powershell使用Backtick创建新线-怪异,powershell,Powershell,例1中发生了什么?这是如何解析的 # doesnt split on , [String]::Join(",",("aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa," + ` "aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa".Split(',') ` | foreach { ('"' + $_ + '"') })) # adding ( ) does work [Strin
# doesnt split on ,
[String]::Join(",",("aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa," + `
"aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa".Split(',') `
| foreach { ('"' + $_ + '"') }))
# adding ( ) does work
[String]::Join(",",(("aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa," + `
"aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa").Split(',') `
| foreach { ('"' + $_ + '"') }))
第一个示例仅将Split方法应用于a的第二个字符串。括号是操作顺序所必需的。在第一个示例中,拆分方法在连接之前执行。在第一个示例中,您可以删除反勾号,因为Powershell知道字符串将继续(有一个
+
符号)
波什做什么
“aaaa,…aaaa”。split(',')
)$ofs
变量。当您尝试以下代码时,您将更好地看到它的实际应用:
$ofs = "|"
[String]::Join(",", ("aaaaa,aaaaa" + "bbbb,bbbb,bbbb".Split(',') | foreach { ('"' + $_ + '"') }))