如何在PowerShell中列出OneDrive文件夹?访问报错找不到C盘如何解决?
报错原因
- PowerShell当前会话不在本地文件系统提供程序的工作上下文:如果你此前操作过其他PowerShell内置提供程序的虚拟驱动器(例如注册表
HKLM:、环境变量Env:、证书存储Cert:等),当前会话未加载本地磁盘的PSDrive映射,就会抛出C盘不存在的错误。 - OneDrive文件随选功能导致路径映射异常:如果你开启了OneDrive的文件随选功能,未同步到本地的文件/文件夹会以虚拟占位符形式存在,非文件系统上下文下的PowerShell无法识别这类路径的磁盘归属。
正确操作方法
- 先切换回本地文件系统上下文,再执行列表命令:
# 切换到C盘根目录,恢复文件系统上下文 Set-Location C: # 再执行目录列表 ls "C:\Users\bob\OneDrive\MyContainer"
- 无需切换上下文的通用写法:直接强制指定文件系统提供程序解析路径:
Get-ChildItem FileSystem::"C:\Users\bob\OneDrive\MyContainer"
- 如果你安装了OneDrive官方PowerShell模块,也可以直接通过OneDrive提供程序访问路径,无需走本地磁盘映射:
Get-ChildItem OneDrive::"\MyContainer"
如果执行上述操作后仍然报错,可以运行Get-PSDrive命令查看当前会话加载的驱动器列表,确认文件系统类型的C盘是否正常存在。
内容的提问来源于stack exchange,提问作者Summer
相关产品推荐
相关产品推荐

