Powershell 字符串变量作为获取ChildItem的参数
为什么这样做有效:Powershell 字符串变量作为获取ChildItem的参数,powershell,powershell-2.0,Powershell,Powershell 2.0,为什么这样做有效: PS C:\Users\user> Get-ChildItem '\\COMPUTER\folder with spaces' 但这并不是: PS C:\Users\user> $a = "'\\COMPUTER\folder with spaces'" PS C:\Users\user> Get-ChildItem $a Cannot find path 'C:\Users\user\'\COMPUTER\folder with spaces'' be
PS C:\Users\user> Get-ChildItem '\\COMPUTER\folder with spaces'
但这并不是:
PS C:\Users\user> $a = "'\\COMPUTER\folder with spaces'"
PS C:\Users\user> Get-ChildItem $a
Cannot find path 'C:\Users\user\'\COMPUTER\folder with spaces''
because it does not exist
如何使用变量来实现后者的效果?进一步的实验揭示了这个解决方案:
PS C:\Users\user> $a = "\\COMPUTER\folder with spaces"
PS C:\Users\user> Get-ChildItem "$a"
嵌套引号将成为字符串的一部分
这将从主机Get ChildItem'\\COMPUTER\folder with spaces'
计算机
上带有空格的共享
文件夹中读取子项
这将做同样的事情,但双引号还允许您在字符串中使用变量,例如:Get ChildItem“\\COMPUTER\folder with spaces”
“\\$computer\folder with spaces”
但是,这将在本地计算机上的当前工作目录中查找文字名为“Get ChildItem“\\COMPUTER\folder with spaces”
(包括单引号)的文件或文件夹”\\COMPUTER\folder with spaces“