如何将PowerShell获取的SystemDrive值应用到管道的文件路径参数中
PowerShell中整合SystemDrive环境变量到文件路径的方法
你有几种方式可以将SystemDrive的值整合到你的管道命令中:
方法1:先存变量再拼接路径
先把环境变量的值存入变量,再通过双引号解析变量拼接路径:
$systemDrive = (Get-ChildItem -Path Env:\SystemDrive).Value Write-Output "test" | Out-File -FilePath "$systemDrive\temp.txt"
PowerShell会自动解析双引号包裹的变量,将$systemDrive替换为实际的盘符路径。
方法2:直接在路径中嵌入表达式
不需要单独定义变量,直接在双引号路径里用$()包裹表达式执行:
Write-Output "test" | Out-File -FilePath "$((Get-ChildItem -Path Env:\SystemDrive).Value)\temp.txt"
$()会优先执行内部的表达式,把结果替换到路径字符串中。
更简便的写法:直接使用PowerShell环境变量语法
其实PowerShell支持直接通过$Env:前缀访问环境变量,比Get-ChildItem更简洁:
Write-Output "test" | Out-File -FilePath "$Env:SystemDrive\temp.txt"
这种写法和你原来用的%SystemDrive%效果一致,但更符合PowerShell的语法规范。
内容的提问来源于stack exchange,提问作者Bomin
相关产品推荐
相关产品推荐

