PowerShell ile toplu Klasör Oluşturmak
  1. Anasayfa
  2. PowerShell

PowerShell ile toplu Klasör Oluşturmak

Klasör yapıları dosya organizasyonu ve verimlilik açısından oldukça önemlidir. Özellikle büyük projelerde alfabetik sıralamayla klasörler oluşturmak, dosyaların düzenli bir şekilde saklanmasını sağlar. Bu makalemede PowerShell kullanarak A’dan Z’ye kadar klasörleri otomatik olarak oluşturmanızı sağlayan bir scriptin nasıl çalıştığını ele alacağız.

Aşağıda paylaşılan PowerShell scripti belirlenen bir dizin altında A’dan Z’ye kadar alfabetik klasörler oluşturur. Bu script, belirli bir proje için hızlıca klasör yapısı oluşturmak veya dosyaları belirli kriterlere göre düzenlemek için oldukça kullanışlıdır.

# A'dan Z'ye kadar klasör oluşturma;
$letters = [char[]]([char]'A'..[char]'Z')
$basePath = "V:\Mail-Archive"

foreach ($letter in $letters) {
    $folderPath = Join-Path -Path $basePath -ChildPath $letter
    if (-not (Test-Path -Path $folderPath)) {
        New-Item -Path $folderPath -ItemType Directory
    } else {
        Write-Host "Klasör zaten mevcut: $folderPath"
    }
}

Write-Host "A'dan Z'ye kadar klasörler $basePath dizininde oluşturuldu."

Yukarıdaki Script, PowerShell’de [char]’A’..[char]’Z‘ ifadesiyle A’dan Z’ye kadar olan tüm harfleri içeren bir dizi oluşturur. Bu diziyi $letters değişkenine atar.

$letters = [char[]]([char]'A'..[char]'Z')

$basePath değişkeni klasörlerin oluşturulacağı ana dizini tanımlar. Bu örnekte, dizin “V:\Mail-Archive” olarak belirlenmiştir. İstediğiniz herhangi bir dizini buraya tanımlayabilirsiniz.

$basePath = "V:\Mail-Archive"

foreach döngüsü, $letters dizisindeki her bir harf için çalışır. Her harf temel dizine eklenerek yeni bir klasör yolu oluşturulur ($folderPath).

foreach ($letter in $letters) {
    $folderPath = Join-Path -Path $basePath -ChildPath $letter

Test-Path komutu oluşturulmak istenen klasörün önceden var olup olmadığını kontrol eder. Klasör yoksa, New-Item komutuyla yeni bir klasör oluşturulur. Eğer klasör zaten mevcutsa, bir uyarı mesajı verilir.

if (-not (Test-Path -Path $folderPath)) {
    New-Item -Path $folderPath -ItemType Directory
} else {
    Write-Host "Klasör zaten mevcut: $folderPath"
}

Döngü tamamlandığında, script bir bilgilendirme mesajı verir ve tüm klasörlerin başarıyla oluşturulduğunu bildirir.

Write-Host "A'dan Z'ye kadar klasörler $basePath dizininde oluşturuldu."

Scirpt çalıştırıldıktan sonra “V:\Mail Archive” dizinde boş klasörler oluşturulacaktır.