如何用PowerShell批量给UNC路径文件夹添加Migrated_前缀(无需新增CSV列)
UNC路径末端文件夹批量重命名方案
针对你需求的核心,$newName = "Migrated_" + 后面需要补充的是从原路径中提取末端文件夹名的代码,推荐两种可靠实现方式:
方式一:使用PowerShell内置的Split-Path命令
$newName = "Migrated_" + (Split-Path $originalPath -Leaf)
Split-Path -Leaf专门提取路径的最后一个元素,对于示例路径\\Server\share\sales\John,会返回John,拼接后得到Migrated_John。
方式二:使用.NET的Path类方法
$newName = "Migrated_" + [System.IO.Path]::GetFileName($originalPath)
[System.IO.Path]::GetFileName()同样能准确获取路径的末端元素,兼容UNC路径和本地路径场景。
完整脚本示例(结合CSV批量处理)
假设你的CSV文件列名为Path,完整可重复使用的脚本如下:
# 导入CSV路径列表 $pathList = Import-Csv -Path "C:\YourPaths.csv" foreach ($entry in $pathList) { $originalPath = $entry.Path # 生成新的末端文件夹名 $newName = "Migrated_" + (Split-Path $originalPath -Leaf) # 构建完整的新路径 $newFullPath = Join-Path (Split-Path $originalPath -Parent) $newName # 测试阶段保留-WhatIf参数,确认正确后再移除执行实际重命名 Rename-Item -Path $originalPath -Destination $newFullPath -WhatIf }
关键提示
- 始终先通过
-WhatIf参数验证新路径的正确性,避免误操作; - 确保脚本执行账号拥有目标UNC路径的修改权限。
内容的提问来源于stack exchange,提问作者Hidden_Name
相关产品推荐
相关产品推荐

