使用Power Automate移动含#字符的SharePoint文件夹遇问题求助
解决Power Automate无法删除含#字符的文件夹问题
这是因为#属于HTTP URL中的特殊字符(锚点标识符),Power Automate默认操作或普通HTTP请求未正确转义该字符,导致删除请求无法准确定位目标文件夹。以下是可行的解决方法:
URL编码文件夹名称后执行删除
用Power Automate的Uri Component动作将文件夹名称中的#替换为URL编码值%23,再构造删除请求。例如文件夹名Project#V2编码后变为Project%23V2,用这个编码后的名称拼接API路径或Power Automate操作的文件夹路径。使用编码后的路径调用SharePoint REST API删除
构造HTTP请求:- 请求方法:
POST - URI:
_api/web/GetFolderByServerRelativeUrl('/sites/你的站点/源目录/编码后的文件夹名')/DeleteObject() - 请求头:添加
Accept: application/json;odata=verbose、Content-Type: application/json;odata=verbose、X-HTTP-Method: DELETE
确保流的运行账号拥有源文件夹的完全控制权限。
- 请求方法:
通过PowerShell脚本强制删除
借助Azure自动化账户或Power Automate桌面流运行PowerShell脚本,PowerShell会自动处理特殊字符:Connect-PnPOnline -Url "https://你的SharePoint站点URL" -Credentials (Get-AutomationPSCredential "你的凭据名称") Remove-PnPFolder -FolderUrl "源文件夹路径/Project#V2" -Force清理文件夹残留内容
若文件夹看似为空但无法删除,可能存在隐藏系统文件、版本历史或锁定文件:- 在SharePoint界面进入目标文件夹,打开「版本历史」清理所有版本
- 检查是否有隐藏文件,显示隐藏项目后删除残留文件
- 再通过Power Automate或API执行删除操作
内容的提问来源于stack exchange,提问作者Dragos
相关产品推荐
相关产品推荐

