Điều này phải rõ ràng, nhưng tôi không thể làm việc này.powershell: kết hợp đường dẫn sử dụng biến số
Tôi đang cố tạo một biến chứa đường dẫn đến tệp hiện có, sử dụng biến môi trường ($ env: programfiles (x86)). Tuy nhiên tôi vẫn gặp lỗi, và tôi không hiểu tại sao.
này hoạt động tốt (nếu tập tin tồn tại):
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:\>
Tuy nhiên, đây không:
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
gì đang xảy ra, và làm thế nào để sửa chữa nó?
Mất không gian trong ví dụ thứ hai chỉ là lỗi đánh máy? "Program Files (x86)" vs "Program Files (x86)" – craika
nó không phải, tôi nhận được nó mà không có không gian quá. rất lạ – CharlesB
không, trên hệ thống 64 bit bạn nhận được hai biến env: $ {env: programfiles} và $ {env: programfiles (x86)} – jeroenh