Powershell 带变量的路径
没什么好解释的,看吧Powershell 带变量的路径,powershell,variables,path,Powershell,Variables,Path,没什么好解释的,看吧 $env = '@PROD' $LogTime = Get-Date -Format "MM-dd-yyyy_hh:mm:ss" $LogFile = '"C:/Test/test/test/Log/"+$LogTime+"_Log_"+$env+".log"' Write-Host $LogFile 但是$LogFile不正确。输出=C:\Test\Test\Test\Log\+$LogTime+Log+$env+.Log你把事情复杂化了;我建议使用字符串扩展。另外,$
$env = '@PROD'
$LogTime = Get-Date -Format "MM-dd-yyyy_hh:mm:ss"
$LogFile = '"C:/Test/test/test/Log/"+$LogTime+"_Log_"+$env+".log"'
Write-Host $LogFile
但是$LogFile不正确。输出=C:\Test\Test\Test\Log\+$LogTime+Log+$env+.Log你把事情复杂化了;我建议使用字符串扩展。另外,$env是一个错误的变量名,因为它与范围修饰符名称匹配,冒号:在Windows的文件结构中不是有效字符
$Environment = '@PROD'
$LogTime = Get-Date -Format 'MM-dd-yyyy_hh.mm.ss'
## Alternatively, ${Environment} for clarity
$LogFile = "C:\Test\test\test\Log\${LogTime}_Log_$Environment.log"
Write-Host $LogFile
你把事情复杂化了;我建议使用字符串扩展。另外,$env是一个错误的变量名,因为它与范围修饰符名称匹配,冒号:在Windows的文件结构中不是有效字符
$Environment = '@PROD'
$LogTime = Get-Date -Format 'MM-dd-yyyy_hh.mm.ss'
## Alternatively, ${Environment} for clarity
$LogFile = "C:\Test\test\test\Log\${LogTime}_Log_$Environment.log"
Write-Host $LogFile
删除围绕整个内容的单引号一个关于如何使用引号的好参考:删除围绕整个内容的单引号一个关于如何使用引号的好参考:$env的捕获很好,我可能会用${Environment}来限定它readability@MathiasR.Jessen好建议。我想借此机会说,您可以随意命名变量,只要它们在美元符号后面用大括号括起来:${这是一个有效的变量名:emoji:}=6,如果下划线或类似内容可以解释为名称的一部分,则它还明确说明变量名称的开头/结尾。${@ManuelHedinger如果这解决了您的问题,请将其标记为未来搜索者的答案!使用$env捕捉得很好,我可能会使用${Environment}对其进行限定也为了readability@MathiasR.Jessen好的建议。我想借此机会说,你可以随意命名变量,只要它们在美元符号后面用大括号括起来:${这是一个有效的变量名:emoji:}=6,如果下划线等可以解释为名称的一部分,则它还明确说明变量名称的开始/结束。${@ManuelHedinger如果这解决了您的问题,请将其标记为未来搜索者的答案!