エクスプローラーで同じファイルをコピーすると連番で新しいファイルが出来上がります。
それと同じような機能をPowerShellで書いてみました。
param(
    [string]
    $File="./note.txt"
)
$dir = Split-Path $File
$ext = [System.IO.Path]::GetExtension($File)
$name = [System.IO.Path]::GetFileNameWithoutExtension($File)
$i = 0
$file = Join-Path $dir ($name+$ext)
while(Test-Path $file)
{
    $i++
    $file = Join-Path $dir ($name+(" - copy({0:d3})" -f $i)+$ext)
}
echo "a" | Out-File -FilePath $file
結果
PS C:\Users\karet\Documents\PowerShell> ls *.txt
    Directory: C:\Users\karet\Documents\PowerShell
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          2024/11/02    10:56              3 note - copy(001).txt
-a---          2024/11/02    10:56              3 note - copy(002).txt
-a---          2024/11/02    10:56              3 note.txt
  
  
  
  

コメント