我的文件共享上有一个文件夹,其中有一个尾随引导。我不能因为爱我而得到Get-ChildItem的内容。
Get-ChildItem "\\fileshare\Projects\Videos\208 "
Get-ChildItem "\\fileshare\Projects\Videos\208` "
Get-ChildItem -LiteralPath "\\fileshare\Projects\Videos\208 "
它表示指定的路径不存在......
我该怎么做?
答案 0 :(得分:1)
尝试在资源管理器中自己创建一个带有尾随空格的文件夹 - 您会发现无法在资源管理器中删除尾随空格。这是因为具有尾随空格的文件/文件夹在Win32名称空间中是无效的名称。
PowerShell还从文件夹名称中剥离尾随空格(与资源管理器相同),这意味着该命令随后尝试针对不存在的文件夹运行,因此“路径不存在”错误。
请参阅You cannot delete a file or a folder on an NTFS file system volume中的原因6,因为这涵盖了无效的命名空间。 (该文章引用了Windows XP,但与使用NTFS文件系统的任何Windows操作系统相关)
PowerShell可能无法读取此文件夹,除非您使用文章提到的解决方法\\?\c:\path_to_problem_file
。
您应该删除或重命名此文件夹,因为它将来会给您带来进一步的问题。
答案 1 :(得分:1)
只需添加一个尾随反斜杠......就像这样:
Get-ChildItem -LiteralPath "\\fileshare\Projects\Videos\208 \"
额外信息:
可能不是空格而是“ Alt + 255 ”字符 如果在扩展的ascii表中搜索255个字符,您将找到一个看起来像空格但行为不像空格的字符。
正如人们所指出的那样,无法创建一个带尾随空格的文件夹,但可以创建一个尾随“ Alt + 255 ”字符的文件夹。
答案 2 :(得分:0)
您需要在以下情况下使用通配符:
Get-ChildItem "\\fileshare\Projects\Videos\208*"
我只是假设,但' \ fileshare'位于OS X或Mac OS上,它允许文件夹结构中的空格。