ค้นหาเว็บไซต์

เขียนไฟล์ไบนารีใน PowerShell [3 วิธี]


ใช้ Add-Content Cmdlet

ใช้ Add-Content cmdlet เพื่อเขียนไฟล์ไบนารีใน PowerShell

ใช้ Cmdlet เพิ่มเนื้อหา:

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

สคริปต์นี้สร้างไฟล์ใหม่ชื่อ test.bin ในไดเร็กทอรีการทำงานปัจจุบันและเขียนข้อมูลไบนารีลงในไฟล์ สคริปต์จะผนวกข้อมูลเข้ากับไฟล์ที่มีอยู่หากไฟล์นั้นมีอยู่แล้ว ขั้นแรก เราจัดเก็บอาร์เรย์ของไบต์ไว้ใน $binaryData ที่มีค่าต่างกัน

จากนั้น เราใช้ Add-Content cmdlet เพื่อเขียนข้อมูลไบนารีที่ให้มาลงในไฟล์ .bin ที่ระบุ ในกรณีของเรา มันอยู่ในไดเร็กทอรีปัจจุบัน ในที่นี้ พารามิเตอร์ -Path ถูกใช้เพื่อระบุเส้นทางของไฟล์ ในขณะที่พารามิเตอร์ -Value ถูกใช้เพื่อระบุเนื้อหาที่จะเพิ่ม ในกรณีนี้ มันคือตัวแปร $binaryData ถัดไป พารามิเตอร์ -Encoding Byte บอกให้ PowerShell เขียนข้อมูลเป็นไฟล์ไบนารี

ใช้เมธอด [IO.File]::WriteAllBytes()

ใช้วิธี [IO.File]::WriteAllBytes() เพื่อเขียนไฟล์ไบนารีใน PowerShell

ใช้วิธี WriteAllBytes():

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

ที่นี่ เราใช้เมธอด [IO.File]::WriteAllBytes() เพื่อเขียนเนื้อหาของอาร์เรย์ไบต์ ($binaryData) ลงในไฟล์ไบนารี พารามิเตอร์แรกคือเส้นทางของไฟล์ ในกรณีนี้คือ test.bin ในไดเร็กทอรีปัจจุบัน พารามิเตอร์ที่สองคืออาร์เรย์ไบต์ ($binaryData) ที่มีข้อมูลไบนารี

จนถึงขณะนี้ เราได้เรียนรู้วิธีการเขียนไบนารีอาเรย์ลงในไฟล์ไบนารี่แล้ว มาดูกันว่าเราจะเขียนไฟล์ไบนารี่ได้อย่างไรเมื่อเราได้รับสตริงที่เข้ารหัส base64

ใช้ FromBase64CharArray() กับ Add-Content

หากต้องการเขียนไปยังไฟล์ไบนารีใน PowerShell:

  • ใช้ FromBase64CharArray() เพื่อแปลงสตริงที่เข้ารหัส base64 เป็นอาร์เรย์ไบต์
  • ใช้ Add-Content cmdlet เพื่อเขียนอาร์เรย์ไบต์ (ที่ได้รับจากขั้นตอนก่อนหน้า) ลงในไฟล์ไบนารี

ใช้วิธี FromBase64CharArray() กับ Add-Content Cmdlet:

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

ในกรอบโค้ดข้างต้น ตัวแปร $base64String มีสตริงที่เข้ารหัส base64; สตริงนี้เป็นเวอร์ชันที่เข้ารหัสของอาร์เรย์ไบต์ ตัวแปร $binaryData ได้รับผลลัพธ์ของเมธอด [System.Convert]::FromBase64String() เมธอดนี้จะแปลงสตริงที่เข้ารหัส base64 เป็นอาร์เรย์ไบต์

จากนั้น เราใช้ Add-Content cmdlet ที่เรากล่าวถึงในส่วนแรกเพื่อเขียนข้อมูลไบนารีที่จัดเก็บไว้ในตัวแปร $binaryData ลงในไฟล์ชื่อ test ถัง. ในที่นี้ พารามิเตอร์ -Encoding Byte ใช้เพื่อแจ้งให้ PowerShell เขียนข้อมูลที่ระบุเป็นไฟล์ไบนารี

หมายเหตุ: สตริง base64 ควรเป็นสตริงที่เข้ารหัส base64 ที่ถูกต้อง มิฉะนั้น [System.Convert]::FromBase64String() วิธีการ จะส่งข้อยกเว้น

นั่นคือทั้งหมดที่เกี่ยวกับวิธีการเขียนไฟล์ไบนารีใน PowerShell

บทความที่เกี่ยวข้อง