尝试通过以下方式将文件复制到目录中时:
Copy-Item $Source -Destination "C$\Program Files (x86)" -Recurse -EA Continue -EV +PushFailures
我无法这样做。所以我尝试测试以查看PowerShell是否甚至看到目录-
Test-Path "C$\Program Files (x86)"
即使明显存在,它也会返回“False”。
我在这里做错什么,如何纠正?尽管不确定如何将其实现为字符串变量,但我阅读了有关“$ env:programfiles”的信息。
提前致谢。
最佳答案
我不习惯在这种情况下使用C$\Program Files (x86)
,因为通常在远程管理共享(例如\\Computername\C$\Program Files (x86)
)中引用它。您是说只使用C:\Program Files (x86)
吗?
问题的一部分是$
是PowerShell中的保留字符,需要以字符串形式转义。有两种方法可以做到这一点:
-Destination "C`$\Program Files (x86)"
-Destination 'C$\Program Files (x86)'
我觉得这行不通。如果您只想要程序文件的本地路径,那么这将有助于您按照建议的方式包含Environment变量
-Destination "$env:ProgramFiles"
-Destination "${env:ProgramFiles(x86)}"
如果路径同时包含字符串元素和变量,则需要确保通过使用子表达式将它们正确扩展
-Destination "$($env:ProgramFiles)\Internet Explorer"
关于powershell - PowerShell为测试路径 “False”返回 “C$\Program Files (x86)”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26657255/