PowerShell'de İkili Dosya Yazma [3 Yol]


İçerik Ekle Cmdlet'ini Kullanma

PowerShell'de ikili dosyalar yazmak için İçerik Ekle cmdlet'ini kullanın.

İçerik Ekleme Cmdlet'ini kullanın:

$binaryData = [Byte[]] (0x01, 0x02, 0x03, 0x04)
Add-Content -Path ".\test.bin" -Value $binaryData -Encoding Byte

Bu komut dosyası, geçerli çalışma dizininde test.bin adında yeni bir dosya oluşturdu ve ikili verileri dosyaya yazdı. Dosya zaten mevcutsa, komut dosyası mevcut dosyaya veri ekleyecektir. İlk olarak bayt dizisini farklı değerler içeren $binaryData dosyasında sakladık.

Daha sonra, sağlanan ikili verileri belirtilen .bin dosyasına yazmak için Add-Content cmdlet'ini kullandık; bizim durumumuzda geçerli dizindedir. Burada -Path parametresi dosya yolunu belirtmek için, -Value parametresi ise eklenecek içeriği belirtmek için kullanıldı; bu durumda $binaryData değişkenidir. Daha sonra -Encoding Byte parametresi PowerShell'e verileri ikili dosya olarak yazmasını söyler.

[IO.File]::WriteAllBytes() Yöntemini Kullanma

PowerShell'de ikili dosyalar yazmak için [IO.File]::WriteAllBytes() yöntemini kullanın.

WriteAllBytes() Yöntemini kullanın:

$binaryData = [Byte[]] (0x01, 0x02, 0x03, 0x04)
[IO.File]::WriteAllBytes(".\test.bin", $binaryData)

Burada bayt dizisinin içeriğini ($binaryData) bir ikili dosyaya yazmak için [IO.File]::WriteAllBytes() yöntemini kullandık. İlk parametre dosya yoluydu; bu durumda geçerli dizindeki test.bin'dir; ikinci parametre ikili verileri içeren bayt dizisiydi ($binaryData).

Şu ana kadar ikili diziyi ikili dosyaya nasıl yazacağımızı öğrendik; base64 kodlu dize bize sağlandığında ikili dosyayı nasıl yazabileceğimizi görelim.

FromBase64CharArray()'ı Add-Content ile kullanma

PowerShell'de bir ikili dosyaya yazmak için:

  • Base64 kodlu dizeyi bayt dizisine dönüştürmek için FromBase64CharArray() öğesini kullanın.
  • Bir bayt dizisini (önceki adımdan alınan) bir ikili dosyaya yazmak için İçerik Ekle cmdlet'ini kullanın.

Add-Content Cmdlet'iyle FromBase64CharArray() Yöntemini kullanın:

$base64String = "TESTING=="
$binaryData = [System.Convert]::FromBase64String($base64String)
Add-Content -Path ".\test.bin" -Value $binaryData -Encoding Byte

Yukarıdaki kod çerçevesinde $base64String değişkeni, base64 kodlu bir dize içeriyordu; bu dize bir bayt dizisinin kodlanmış versiyonuydu. $binaryData değişkeni, [System.Convert]::FromBase64String() yönteminin sonucunu alır; bu yöntem base64 ile kodlanmış dizeyi bir bayt dizisine dönüştürür.

Daha sonra ilk bölümde anlattığımız Add-Content cmdlet'ini kullanarak $binaryData değişkeninde saklanan ikili verileri test.txt adlı bir dosyaya yazdık. çöp kutusu. Burada PowerShell'in belirtilen verileri ikili dosya olarak yazmasını bildirmek için -Encoding Byte parametresi kullanıldı.

Not: base64 dizesi geçerli bir base64 ile kodlanmış dize olmalıdır, aksi takdirde [System.Convert]::FromBase64String() yöntemi bir istisna oluşturacaktır.

Bunların hepsi PowerShell'de ikili dosyaların nasıl yazılacağıyla ilgilidir.

İlgili makaleler