เขียนไฟล์ไบนารีใน 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-Contentcmdlet เพื่อเขียนอาร์เรย์ไบต์ (ที่ได้รับจากขั้นตอนก่อนหน้า) ลงในไฟล์ไบนารี
ใช้วิธี 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
