gpt4 book ai didi

PowerShell:使用变量组合路径

转载 作者:行者123 更新时间:2023-12-03 21:23:05 24 4
gpt4 key购买 nike

这一定是显而易见的事情,但我无法让它发挥作用。

我正在尝试使用环境变量 ( $env:programfiles(x86) ) 构建一个应包含现有文件路径的变量。但是我不断收到错误,我不明白为什么。

这工作正常(如果文件存在):

PS C:\> $f = "C:\Program Files (x86)" + '\sometextfile.txt'
PS C:\> $f
C:\Program Files (x86)\sometextfile.txt
PS C:\> gci $f
Directory: C:\Program Files (x86)
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 13/12/2010 14:03 0 sometextfile.txt
PS C:\>

但是,这不会:
PS C:\> "$env:programfiles(x86)"
C:\Program Files(x86)
PS C:\> $f = "$env:ProgramFiles(x86)" + '\sometextfile.txt'
PS C:\> $f
C:\Program Files(x86)\sometextfile.txt
PS C:\> gci $f
Get-ChildItem : Cannot find path 'C:\Program Files(x86)\sometextfile.txt' because it does not exist.
At line:1 char:4
+ gci <<<< $f
+ CategoryInfo : ObjectNotFound: (C:\Program Files(x86)\sometextfile.txt:String) [Get-ChildItem], ItemNot
FoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

发生了什么,我该如何解决?

最佳答案

这是发生了什么......

在任何 Windows PowerShell 路径中,空字符或空格都需要用一组引号或方括号括起来。 C:\Program Files (x86) 的 PowerShell 环境变量是 ${env:ProgramFiles(x86)} ,不是 $env:ProgamFiles(x86)因为 PowerShell 需要转义真实路径中的空格。

如果您使用 '${env:ProgramFiles(x86)}' 显式环境变量,它可以完美运行。

这行不通...

PS C:\> cd "$env:programfiles(x86)"
Set-Location : Cannot find path 'C:\Program Files(x86)' because it does not e
At line:1 char:3
+ cd <<<< "$env:programfiles(x86)"
+ CategoryInfo : ObjectNotFound: (C:\(x86):String)
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.

或者这个...
PS C:\> $env:ProgramFiles(x86)
Unexpected token '(' in expression or statement.
At line:1 char:19
+ $env:ProgramFiles( <<<< x86)
+ CategoryInfo : ParserError: ((:String) [], Parent
+ FullyQualifiedErrorId : UnexpectedToken

但这很好用...
PS C:\> ${env:ProgramFiles(x86)}
C:\Program Files (x86)
PS C:\> $f = "${env:ProgramFiles(x86)}" + "\sometextfile.txt"
PS C:\> $f
C:\Program Files (x86)\sometextfile.txt
PS C:\> gci $f
Directory: C:\Program Files (x86)


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 12/13/2010 8:58 AM 0 sometextfile.txt

关于PowerShell:使用变量组合路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4429112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com