powershell - PowerShell为测试路径 “False”返回 “C$\Program Files (x86)”

标签 powershell path output copy-item

尝试通过以下方式将文件复制到目录中时:

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/

相关文章:

c - 为什么我的程序返回相同的字符?

r - 如何增加 R 控制台保留的输出量

Powershell 列出非事件帐户

Azure PowerShell - 无法识别资源组

powershell - 如何在 PowerShell 中将 curl 结果作为变量获取

go - 从网址/字符串中剪切最后一个文件夹,并拆分并加入

windows - 如何让我的 Windows 7 符号链接(symbolic link)从命令行执行?

powershell - 使用powershell检查字符串列表中是否存在字符串

ruby-on-rails - 当远程 git 位于非标准路径上时使用 capistrano

c - 为什么类型转换在指针的情况下不起作用?