ชุดเนื้อหา PowerShell | พารามิเตอร์ 12 อันดับแรกของชุดเนื้อหาพร้อมตัวอย่าง
ข้อมูลเบื้องต้นเกี่ยวกับชุดเนื้อหา PowerShell
ในคอมพิวเตอร์หลายครั้งที่เราจำเป็นต้องเขียนเนื้อหาบางอย่างลงในไฟล์ เนื้อหาในที่นี้อาจเป็นสตริงหรือค่าตัวเลขก็ได้ เพื่อทำเช่นนั้นเราสามารถเปิดไฟล์และเขียนเนื้อหาที่เราต้องการได้ แต่ PowerShell ให้อำนาจเราในการเขียนเนื้อหาของเราลงในไฟล์โดยไม่ต้องเปิดไฟล์ นั่นหมายความว่าเราสามารถเขียนเนื้อหาโดยใช้บรรทัดคำสั่งได้ ดังนั้น Set-Content จึงเป็นคำสั่งที่ช่วยให้เราเขียนเนื้อหาของเราลงบนระบบไฟล์ใดก็ได้ หากคุณรู้จัก Linux ใน Linux จะมีคำสั่งที่เรียกว่า echo เพื่อเขียนเนื้อหาลงในไฟล์ ชุดเนื้อหา PowerShell ไม่ได้จำกัดอยู่ที่การเขียนเนื้อหาในไฟล์ ซึ่งสามารถต่อท้ายเนื้อหาใหม่ แทนที่เนื้อหาเก่า ฯลฯ การใช้คำสั่งนี้แบบเรียลไทม์คือ สมมติว่าคุณมีไฟล์ขนาดใหญ่มากและคุณต้องการแทนที่ คำบางคำในไฟล์ทั้งหมดก็เขียนคำสั่งได้บรรทัดเดียวแล้วคำจะถูกแทนที่
ไวยากรณ์และพารามิเตอร์ของชุดเนื้อหา PowerShell
ต่อไปนี้เป็นไวยากรณ์ของ PowerShell Set-Content:
ไวยากรณ์ #1: ไวยากรณ์ที่ไม่มี -Literalpath
Set-Content
[-Path] <array of strings are allowed in path>
[-Value] <Objects will be used here>
[-PassThru(return current content object which is holding it)]
[-Filter <filter string for which we are going to write for filter conditions>]
[-Include <any string that need to include in this operation>]
[-Exclude <any string that need to exclude in this operation>]
[-Force(file is busy or read only still it will allow to write contents)]
[-WhatIf(describe what will happen is command will execute)]
[-Confirm(asking before execution of command)]
[-NoNewline(without new line and space concatenation of string)]
[-Encoding <here we can define types of contents>]
[<CommonParameters>]ไวยากรณ์ #2: ไวยากรณ์ที่มี -LiteralPath
Set-Content
[-Value] <Objects will be used here>
-LiteralPath <mention exact location>
[-PassThru(return current content object which is holding it)]
[-Include <any string that need to include in this operation>]
[-Exclude <any string that need to exclude in this operation>]
[-Force(file is busy or read only still it will allow to write contents)]
[-Credential ]
[-WhatIf(describe what will happen is command will execute)]
[-Confirm(asking before execution of command)]
[-NoNewline(without new line and space concatenation of string)]
[-Encoding <here we can define types of contents>]
[<CommonParameters>]
พารามิเตอร์:
ต่อไปนี้คือพารามิเตอร์ 12 อันดับแรกของ PowerShell Set-Content:
- -ยืนยัน: แสดงข้อความยืนยันก่อนดำเนินการคำสั่ง Set-Content ขอแนะนำให้ใช้คำสั่งเหล่านี้เสมอเพื่อหลีกเลี่ยงข้อผิดพลาดร้ายแรง
- -การเข้ารหัส: ช่วยให้เราระบุประเภทการเข้ารหัสสำหรับไฟล์เป้าหมายได้ รองรับ ASCII, BigEndingUnicode, OEM, Unicode, UTF7, UTF8 เป็นต้น
- -ยกเว้น: ในขณะที่ตั้งค่าเนื้อหาให้กำหนดเป้าหมายเนื้อหาไฟล์ สตริงที่เฉพาะเจาะจงสามารถยกเว้นได้ เราสามารถใช้อักขระตัวแทนด้วย (*)
- -ตัวกรอง: คุณสามารถกำหนดตัวกรองก่อนที่จะเขียนเนื้อหาได้ อนุญาตให้ใช้ไวด์การ์ดด้วย (*)
- -Force: คำสั่ง Force จะใช้เมื่อเราต้องการเขียนไฟล์เป้าหมายใดๆ แม้ว่าไฟล์นั้นจะอยู่ในเงื่อนไขแบบอ่านอย่างเดียวก็ตาม
- -รวม: ที่นี่เราสามารถระบุสตริงที่ต้องรวมไว้ในการดำเนินการตั้งค่าเนื้อหา ในการดำเนินการนี้ เรายังสามารถใช้ไวด์การ์ด (*) ได้
- -LiteralPath: คำสั่งนี้จะถูกนำมาใช้หากคุณมีเส้นทางที่แน่นอน เนื่องจากไม่อนุญาตให้ใช้ไวด์การ์ดหรือแอตทริบิวต์ที่ตรงกัน
- -NoNewline: เราสามารถต่อสตริงได้โดยตรงโดยไม่ต้องขึ้นบรรทัดใหม่ และไม่มีช่องว่าง โดยพื้นฐานแล้วบรรทัดใหม่จะถูกเพิ่มที่ส่วนท้ายของสตริงเอาต์พุต
- -PassThru: แสดงวัตถุที่เก็บเนื้อหา มันจะไม่ส่งคืนสิ่งใดตามค่าเริ่มต้น
- -เส้นทาง: กำหนดเส้นทางของรายการในการรับเนื้อหา คุณสามารถใช้อักขระตัวแทนได้ที่นี่
- -WhatIf: แสดงรายละเอียดของคำสั่งหรือผลที่ตามมาหลังจากการทำงานของโปรแกรม หากคุณต้องการดูผลลัพธ์หรือวัตถุประสงค์ของข้อความ คุณก็สามารถใช้ได้
- -ค่า: เนื้อหาใหม่ใดๆ ที่เราจะเขียนลงในไฟล์เป้าหมาย
ตัวอย่างการใช้งาน PowerShell Remove-Item
ด้านล่างนี้คือตัวอย่างการใช้งาน PowerShell Remove-Item:
ตัวอย่าง #1
นี่เป็นตัวอย่างง่ายๆ สำหรับ Set-Content ที่นี่เรากำลังเพิ่มสตริงลงในไฟล์ที่มีอยู่ เราเห็นได้ในตัวอย่างว่าเรากำลังส่ง -Value เป็น “Hello, Friend my name is Ranjan”. เพียงแต่เพิ่มค่าสตริงนี้ต่อท้าย
ตัวอย่างการปฏิบัติจริงสามารถดูได้จากภาพด้านล่าง
Set-Content -Path ./test.txt -Value “Hello ,friends my name is Ranjan”
Get-Content -Path ./test.txtเอาต์พุต:
ตัวอย่าง #2
ที่นี่เราจะเขียนเนื้อหาลงในไฟล์ที่ไม่มีอยู่ ซึ่งหมายความว่าเราจะสร้างไฟล์ใหม่แล้วต่อท้ายข้อความสตริง โปรดดูภาพและตัวอย่างที่ระบุด้านล่าง คุณสามารถลองใช้คำสั่งเดียวกันกับไฟล์ที่มีอยู่เพื่อดูความแตกต่างในเอาต์พุต
Set-Content -Path .\todatsDate.txt -Value (Get-Date)
Get-Content -Path ./todatsDate.txtเอาต์พุต:
ตัวอย่าง #3
ตอนนี้เรามาดูตัวอย่างการแทนที่สตริงด้วยอันอื่น ในตัวอย่างด้านล่าง คุณสามารถดูได้ก่อนอื่นว่าเราพยายามแทนที่ “Ranjan ” ด้วย “Ajay ” และมันล้มเหลวเนื่องจากสตริงของเรามี “Ranjan ” ไม่ใช่ “Ranjan ” ซึ่งหมายถึงคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ และอีกครั้งเมื่อเราพยายามแทนที่ “Ranjan ” ด้วย “Ajay ” มันทำงานได้เนื่องจาก “Ranjan ” อยู่ในสตริงที่มีอยู่ของเรา โปรดดูตัวอย่างและหน้าจอด้านล่าง
(Get-Content ./test.txt).replace('Ranjan', 'ajay') | Set-Content ./test.txtเอาต์พุต:
ตัวอย่าง #4
เราได้เรียนรู้วิธีผนวกสตริงในไฟล์ใน PowerShell แล้ว ตอนนี้เรามาดูตัวอย่างที่เราต้องการผนวกหลายสตริงเข้ากับหลายไฟล์ ในตัวอย่างด้านล่าง เราจะต่อท้าย "สวัสดีเพื่อน เนื้อหานี้จะอยู่ในทั้งสามไฟล์" ต่อท้ายไฟล์ทั้งหมดที่มีชื่อที่มีการทดสอบ ในไดเร็กทอรี มีไฟล์ test1.txt, test2.txt, test3.txt สามไฟล์ และไฟล์ทั้งหมดมีสตริงเดียวกัน โปรดดูหน้าจอตัวอย่างด้านล่าง
Set-Content -Path .\test*.txt -Value 'Hello friend this content will be on all three file'
Get-Content -Path .\test*.txtเอาต์พุต:
บทสรุป
ฉันหวังว่าบทช่วยสอนนี้จะดีพอที่จะสรุปเนื้อหาชุดได้ ในบทช่วยสอนนี้ เราเข้าใจว่าเราจะเพิ่มการแทนที่สตริงในไฟล์เป้าหมายหรือไฟล์ได้อย่างไร จะช่วยลดความพยายามของเราในการทำงานด้วยตนเองมากเกินไปในการทำงานซ้ำๆ บนระบบไฟล์โดยเพียงแค่เขียนคำสั่งเดียวเพื่อแทนที่หรือเขียนเนื้อหาในไฟล์หนึ่งหรือหลายไฟล์ในการดำเนินการครั้งเดียว




