Bugün, Windows PowerShell tabanlı yedekleme betiklerimizden birini, disk alanından tasarruf etmek için klasörleri sıkıştırma seçeneğiyle genişlettim. NTFS ortamındaki bir klasörün sıkıştırılması, dosya ile tek satırda yapılır. sıkıştırma()WMI sınıfındaki yöntem Win32_Directory:
Invoke-WmiMethod -Path "Win32_Directory.Name='$ordner'" -Name compress
Dekompresyon şu şekilde yapılır:
Invoke-WmiMethod -Path "Win32_Directory.Name='$ordner'" -Name uncompress
WMI temel olarak uzaktan iletişimle uyumlu olduğundan, orada haklarınız olması koşuluyla, eylemi WMI yolu aracılığıyla uzak bir sistemde de gerçekleştirebilirsiniz:
Invoke-WmiMethod -Path
"Rechnernamerootcimv2:Win32_Directory.Name='$ordner'" -Name compress
Burada bir klasör oluşturan (eğer mevcut değilse) ve onu sıkıştıran (zaten sıkıştırılmamışsa) örnek bir komut dosyası verilmiştir:
# Pfad
$ordner = "c:tempkomprimierterOrdner"
"Anlegen eines komprimierten Ordners: $ordner"
# Ordner anlegen
if (-not (Test-Path $ordner)) {
"Ordner existiert nicht und wird angelegt..."
md $ordner
"OK"
}
else
{
"Ordner existiert schon"
}
# Ordner komprimieren
$ordnerobject = ([WMI] "Win32_Directory.Name='$ordner'")
if (-not ($ordnerobject.compressed))
{
"Ordner wird komprimiert..."
Invoke-WmiMethod -Path "Win32_Directory.Name='$ordner'" -Name compress
"OK"
}
else
{
"Ordner ist schon komprimiert"
}
()
Haberin Sonu
Invoke-WmiMethod -Path "Win32_Directory.Name='$ordner'" -Name compress
Dekompresyon şu şekilde yapılır:
Invoke-WmiMethod -Path "Win32_Directory.Name='$ordner'" -Name uncompress
WMI temel olarak uzaktan iletişimle uyumlu olduğundan, orada haklarınız olması koşuluyla, eylemi WMI yolu aracılığıyla uzak bir sistemde de gerçekleştirebilirsiniz:
Invoke-WmiMethod -Path
"Rechnernamerootcimv2:Win32_Directory.Name='$ordner'" -Name compress
Burada bir klasör oluşturan (eğer mevcut değilse) ve onu sıkıştıran (zaten sıkıştırılmamışsa) örnek bir komut dosyası verilmiştir:
# Pfad
$ordner = "c:tempkomprimierterOrdner"
"Anlegen eines komprimierten Ordners: $ordner"
# Ordner anlegen
if (-not (Test-Path $ordner)) {
"Ordner existiert nicht und wird angelegt..."
md $ordner
"OK"
}
else
{
"Ordner existiert schon"
}
# Ordner komprimieren
$ordnerobject = ([WMI] "Win32_Directory.Name='$ordner'")
if (-not ($ordnerobject.compressed))
{
"Ordner wird komprimiert..."
Invoke-WmiMethod -Path "Win32_Directory.Name='$ordner'" -Name compress
"OK"
}
else
{
"Ordner ist schon komprimiert"
}
()
Haberin Sonu