Bu açık bir şey olmalı, ancak bunu işe alamıyorum.powershell: bir değişken kullanarak yolu birleştirmek
Bir ortam değişkeni ($ env: programfiles (x86)) kullanarak varolan bir dosyanın yolunu içermesi gereken bir değişken oluşturmaya çalışıyorum. Ancak hata yapmaya devam ediyorum ve nedenini göremiyorum.
Bu (dosya varsa) iyi çalışır:
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:\>
Ancak bu değildir:
neler oluyorPS 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
ve nasıl düzeltebilirim?
İkinci örnekte eksik alan yalnızca bir yazım hatası mı? "Program Dosyaları (x86)" vs "Program Dosyaları (x86)" – craika
değil, ben de boşluğum olsun. çok garip – CharlesB
no, 64bit sistemde iki env değişkenini alırsınız: $ {env: programfiles} ve $ {env: programfiles (x86)} – jeroenh