วิธีเขียนหลายบรรทัดลงในไฟล์ใน PowerShell
งานทั่วไปอย่างหนึ่งที่ผู้ดูแลระบบและนักพัฒนา PowerShell มักต้องทำคือการเขียนข้อความหลายบรรทัดลงในไฟล์ ซึ่งอาจใช้เพื่อวัตถุประสงค์ต่างๆ เช่น การบันทึก การกำหนดค่า หรือเอกสารประกอบ ในบทความนี้ เราจะสำรวจวิธีการต่างๆ ในการเขียนสตริงหลายบรรทัดลงในไฟล์โดยใช้ PowerShell
หากต้องการเขียนหลายบรรทัดลงในไฟล์ใน PowerShell คุณสามารถใช้ Out-File cmdlet พร้อมด้วยสตริงที่นี่เพื่อการเขียนที่ตรงไปตรงมา หรือใช้เพิ่มเนื้อหาเพื่อต่อท้ายข้อความโดยไม่ต้องเขียนทับ เพื่อการควบคุมที่มากขึ้น ให้ใช้ Set-Content ซึ่งเร็วกว่าและข้ามระบบการจัดรูปแบบของ PowerShell ตัวดำเนินการเปลี่ยนเส้นทาง > เป็นอีกตัวเลือกที่รวดเร็วสำหรับการเขียน และ >> สำหรับการต่อท้าย
เขียนหลายบรรทัดลงในไฟล์ใน PowerShell
ที่นี่ ฉันจะแสดง 5 วิธีในการเขียนหลายบรรทัดลงในไฟล์ใน PowerShell เราจะหารือแต่ละวิธีเป็นรายบุคคล
วิธีที่ 1: การใช้ Out-File และ Here-String
หนึ่งในวิธีที่ง่ายและง่ายที่สุดในการเขียนหลายบรรทัดลงในไฟล์ใน PowerShell คือการใช้ Out-File cmdlet ร่วมกับสตริงที่นี่ สตริงที่นี่คือสตริงที่สามารถขยายได้หลายบรรทัดและประกาศด้วย @” ที่จุดเริ่มต้นและ “@ ที่ท้าย”
ต่อไปนี้คือตัวอย่างวิธีใช้สตริงที่นี่กับ Out-File เพื่อเขียนหลายบรรทัดไปยังไฟล์ใน PowerShell
$multiLineText = @"
This is line one
This is line two
This is line three
"@
$multiLineText | Out-File -FilePath C:\MyFolder\file.txt
cmdlet Out-File ส่งออกไปยังไฟล์ โดยปริยายใช้ระบบการจัดรูปแบบของ PowerShell เพื่อเขียนลงไฟล์
คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่างหลังจากที่ฉันรันสคริปต์ PowerShell โดยใช้โค้ด VS
วิธีที่ 2: การใช้ Add-Content
หากคุณต้องการเพิ่มหลายบรรทัดต่อท้ายไฟล์ที่มีอยู่โดยไม่ต้องเขียนทับเนื้อหาปัจจุบัน คุณสามารถใช้ Add-Content PowerShell cmdlet
นี่คือตัวอย่างและสคริปต์ PowerShell ที่สมบูรณ์
$lines = @"
Appending this line to the file.
Adding another line.
"@
Add-Content -Path C:\MyFolder\file.txt -Value $linesวิธีการนี้มีประโยชน์อย่างยิ่งเมื่อคุณต้องการเพิ่มลงในไฟล์บันทึกหรืออัปเดตไฟล์การกำหนดค่าโดยไม่สูญเสียข้อมูลที่มีอยู่
คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:
วิธีที่ 3: การใช้ตัวดำเนินการเปลี่ยนเส้นทาง
PowerShell ยังช่วยให้คุณเปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์ได้โดยตรงโดยใช้ตัวดำเนินการเปลี่ยนเส้นทาง > ใน PowerShell หากต้องการต่อท้ายเนื้อหา คุณจะต้องใช้ตัวดำเนินการ >>
นี่คือตัวอย่างการใช้ตัวดำเนินการเปลี่ยนเส้นทาง PowerShell:
@"
This is a new line for the file.
Here's another new line.
"@ > C:\MyFolder\file.txt
และเพื่อผนวกข้อมูล:
@"
This line will be appended.
So will this one.
"@ >> C:\MyFolder\file.txtตัวดำเนินการเปลี่ยนเส้นทางนั้นรวดเร็วและง่ายดาย แต่มีการควบคุมน้อยกว่าเมื่อเทียบกับ Out-File และ Add-Content ใน PowerShell
วิธีที่ 4: การใช้ชุดเนื้อหา
ใน PowerShell คุณยังสามารถใช้ Set-Content cmdlet เพื่อเขียนหลายบรรทัดลงในไฟล์ได้ cmdlet นี้คล้ายกับ Out-File แต่ไม่ได้ใช้ระบบการจัดรูปแบบ PowerShell และมักจะเร็วกว่า
ต่อไปนี้คือวิธีที่คุณสามารถใช้ PowerShell Set-Content:
$linesToWrite = @"
Line one
Line two
Line three
"@
Set-Content -Path C:\MyFolder\file.txt -Value $linesToWriteSet-Content เป็นตัวเลือกที่ดีเมื่อประสิทธิภาพเป็นปัญหา และเมื่อคุณไม่ต้องการความสามารถในการจัดรูปแบบของ Out-File
วิธีที่ 5: การใช้ Script Block กับ Foreach-Object
หากคุณมีอาร์เรย์ของสตริงใน PowerShell ที่คุณต้องการเขียนลงในไฟล์ทีละบรรทัด คุณสามารถใช้บล็อกสคริปต์กับ Foreach-Object cmdlet
ตัวอย่าง :
$linesArray = "Line one", "Line two", "Line three"
$linesArray | Foreach-Object { $_ | Out-File -FilePath C:\path\to\your\file.txt -Append }วิธีการนี้มีประโยชน์เมื่อคุณมีคอลเลกชันของสตริงที่คุณต้องการประมวลผลทีละรายการหรือแบบมีเงื่อนไขก่อนที่จะเขียนลงในไฟล์ใน PowerShell
บทสรุป
ในบทความนี้ เราได้กล่าวถึงหลายวิธีในการเขียนหลายบรรทัดลงในไฟล์ใน PowerShell ไม่ว่าคุณจะต่อท้ายไฟล์ที่มีอยู่ สร้างไฟล์ใหม่ หรือเขียนทีละบรรทัด PowerShell มี cmdlets ต่างๆ เพื่อเขียนหลายบรรทัดหรือสตริงลงในไฟล์
วิธีที่ง่ายที่สุดในการเขียนหลายบรรทัดลงในไฟล์ใน PowerShell คือการใช้ Out-File และ Here-String cmdlets

