这里是目录标题
- 脚本部分代码
- [🔧 功能说明](#🔧 功能说明)
- [📝 参数配置](#📝 参数配置)
- [🚀 执行步骤](#🚀 执行步骤)
- [⚠️ 注意事项](#⚠️ 注意事项)
- [📊 操作日志示例](#📊 操作日志示例)
脚本部分代码
ps1
# 获取文件夹下的所有文件
$files = Get-ChildItem -Path $uncPath -File
if ($files.Count -gt 0) {
Write-Host "正在删除 $($files.Count) 个文件..." -ForegroundColor Yellow
$files | Remove-Item -Force
Write-Host "已删除文件夹下的所有文件" -ForegroundColor Green
return @{
Exists = $true
Action = "deleted"
FileCount = $files.Count
}
}
else {
Write-Host "文件夹为空,无需删除" -ForegroundColor Yellow
return @{
Exists = $true
Action = "empty"
FileCount = 0
}
}
🔧 功能说明
该脚本用于批量删除指定网络共享路径(UNC路径)下的所有文件,并返回操作结果。核心功能包括:
- 自动检测目标文件夹是否存在文件
- 强制删除文件(忽略确认提示)
- 返回结构化操作结果(文件数量、操作状态)
📝 参数配置
| 参数 | 必填 | 示例值 | 说明 |
|---|---|---|---|
| $uncPath | 是 | \Server\Share | 网络共享路径(需双反斜杠) |
🚀 执行步骤
权限验证:
powershell
Test-Path -Path $uncPath # 验证访问权限
若返回False需检查:
- 网络连接是否正常
- 账户是否具有写权限
- 防火墙是否阻止445端口
执行脚本:
powershell
# 示例:删除\\FileServer\Temp下的文件
$uncPath = "\\FileServer\Temp"
& {
$files = Get-ChildItem -Path $uncPath -File
# 后续删除逻辑...
}
结果解读:
powershell
@{
Exists = $true # 路径存在性
Action = "deleted" # 操作类型(deleted/empty)
FileCount = 15 # 处理文件数量
}
⚠️ 注意事项
强制删除风险:
使用-Force参数会跳过系统文件保护
不可恢复操作,建议先备份
特殊文件处理:
只读文件:自动移除只读属性后删除
隐藏文件:包含-File参数时自动包含
锁定文件:需配合Unlocker工具先解锁
性能优化:
powershell
# 添加分批处理(超过1000文件时)
$files | ForEach-Object -Parallel {
Remove-Item $_.FullName -Force
} -ThrottleLimit 50
🛠 错误处理
| 错误码 | 原因 | 解决方案 |
|---|---|---|
| 0x80070005 | 权限不足 | 检查共享权限和NTFS权限 |
| 0x80070035 | 网络路径无效 | 检查网络连接和路径拼写 |
| 0x80070020 | 文件被占用 | 使用Handle.exe工具解除占用 |
📊 操作日志示例
log
正在删除 15 个文件...
已删除文件夹下的所有文件
返回结果:
Exists : True
Action : deleted
FileCount : 15