首页 > 解决方案 > 我在创建唯一目录和文件时做错了什么,同时使用 PowerShell 验证目录和文件名是唯一的?

问题描述

我编写了这段代码来执行以下操作:

问题:错误检查没有按预期连续工作。

function Create-PigLitters
{
       param ([string[]]$SireType = @('Hereford','Mangalista','Yorkshire', 'Cross'),
              [string]$SireName,
              [int]$LitterNumber,
              [string]$DamName,
              [string]$LitterLocation,
        [string[]]$DamType = @('Hereford','Mangalista','Yorkshire', 'Cross')),

       #Create Directory

    $PigletProject = $LitterLocation + "\" + $SireType + "\" + "$SireName" + "_" + $DamName+ "\" + $DamType + "_S_D"  + $LitterNumber

       if (!(Test-Path -Path $PigletProject))
              {
              New-Item -ItemType Directory -Path "$PigletProject"
       }
    else
    {
        [int]$LitterNumber++
        $PigletProject = $LitterLocation + "\" + $SireType + "\" + "$SireName" + "_" + $DamName + "\" + $DamType + "_S_D"  + $LitterNumber
        New-Item -ItemType Directory -Path "$PigletProject" -Force
    }


    #Create File
    $FileName = $SireType + "_" + $SireName + "_" + $DamName + "_" + $DamType + "_S_D" + $LitterNumber + ".txt"
       if (!(Test-Path -Path "$PigletProject\$FileName"))
       {
              New-Item -ItemType "file" -Path "$PigletProject\$FileName"
       }
    else 
    {
            [int]$LitterNumber++
            $FileName = $SireType + "_" + $SireName + "_" + $DamName + "_" + $DamType + "_S_D" + $LitterNumber + ".txt"
            New-Item -ItemType "file" -Path "$PigletProject\$FileName" -Force
    }
} 

我做错了什么以获得一致的结果,我该如何解决?

标签: powershelluniqueversioningdirectory-structure

解决方案


推荐阅读