You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell实现:检测文件夹存在时递增文件夹名称

解决PowerShell文件夹重命名(递增后缀)问题

你的代码问题在于仅做了单次判断,无法处理FolderName_1也存在的情况,且没有循环检测后续递增后的名称是否可用。以下是修正后的代码:

$baseFolderName = "FolderName" # 替换为你要检测的原始文件夹名
$targetFolderName = $baseFolderName

# 循环检测,直到找到未被占用的文件夹名称
while (Test-Path -Path $targetFolderName) {
    # 判断当前名称是否已有数字后缀
    if ($targetFolderName -match "${baseFolderName}_(\d+)") {
        # 提取现有后缀数字并加1
        $currentNum = [int]$matches[1]
        $targetFolderName = "${baseFolderName}_$($currentNum + 1)"
    } else {
        # 首次检测到原始名称存在,添加_1后缀
        $targetFolderName = "${baseFolderName}_1"
    }
}

# 如需创建文件夹,取消下面注释
# New-Item -ItemType Directory -Path $targetFolderName
Write-Host "可用文件夹名称:$targetFolderName"

代码说明:

  • 保留原始文件夹名$baseFolderName,避免后续修改影响匹配逻辑
  • 使用while循环持续检测目标路径是否存在,直到找到可用名称
  • 通过正则表达式${baseFolderName}_(\d+)匹配已有的数字后缀,自动递增数字
  • 最后可直接使用$targetFolderName进行文件夹创建或其他操作

内容的提问来源于stack exchange,提问作者JM1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 12:59:56