为什么这样做有效:
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
如何使用变量来做后者的效果?
答案 0 :(得分:4)
进一步的实验揭示了这个解决方案:
PS C:\Users\user> $a = "\\COMPUTER\folder with spaces"
PS C:\Users\user> Get-ChildItem "$a"
答案 1 :(得分:3)
嵌套引号成为字符串的一部分。
Get-ChildItem '\\COMPUTER\folder with spaces'
这将从主机folder with spaces
上的共享COMPUTER
中读取子项。
Get-ChildItem "\\COMPUTER\folder with spaces"
这也是一样的,但双引号也允许你在字符串中使用变量,例如像这样:"\\$computer\folder with spaces"
。
Get-ChildItem "'\\COMPUTER\folder with spaces'"
但是,这将在本地计算机上的当前工作目录中查找文字名称为'\\COMPUTER\folder with spaces'
(包括单引号)的文件或文件夹。