这一定是明显的,但我无法得到这个工作。powershell:结合使用变量的路径
我想使用环境变量($ 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
发生了什么,以及如何解决它?
在第二个例子中缺少的空间只是一个错字吗? “程序文件(x86)”与“程序文件(x86)” – craika 2010-12-13 13:52:23
它不是,我得到它没有太大的空间。非常奇怪 – CharlesB 2010-12-13 14:01:34
不,在64位系统上,你得到两个env变量:$ {env:programfiles}和$ {env:programfiles(x86)} – jeroenh 2010-12-13 15:53:42