วิธีแยกไดเรกทอรีออกจากเส้นทางไฟล์ใน PowerShell - PowerShellFAQs
บางครั้ง คุณอาจต้องแยกไดเร็กทอรีออกจากพาธของไฟล์ ในบทช่วยสอน PowerShell นี้ ฉันจะอธิบายวิธีแยกไดเรกทอรีออกจากเส้นทางไฟล์ใน PowerShell โดยใช้วิธีต่างๆ
หากต้องการรับไดเรกทอรีจากเส้นทางของไฟล์ใน PowerShell คุณสามารถใช้ Split-Path cmdlet กับพารามิเตอร์ -Parent ตัวอย่างเช่น $directoryPath=Split-Path -Path “C:\Users\ExampleUser\Documents\File.txt” -Parent จะจัดเก็บพาธไดเร็กทอรี C:\Users\ExampleUser\Documents ไว้ในตัวแปร $directoryPath วิธีการนี้มีประสิทธิภาพและใช้กันอย่างแพร่หลายสำหรับการจัดการเส้นทางในสคริปต์ PowerShell
1. การใช้ Split-Path Cmdlet
หากต้องการรับไดเรกทอรีจากเส้นทางของไฟล์ใน PowerShell ให้ใช้ Split-Path cmdlet cmdlet นี้ออกแบบมาเพื่อแบ่งเส้นทางออกเป็นส่วนประกอบต่างๆ ช่วยให้คุณสามารถแยกส่วนที่ต้องการ เช่น ไดเร็กทอรี
นี่เป็นตัวอย่างง่ายๆ:
$filePath = "C:\Users\ExampleUser\Documents\File.txt"
$directoryPath = Split-Path -Path $filePath
Write-Output $directoryPathในสคริปต์นี้ Split-Path cmdlet รับตัวแปร $filePath เป็นอินพุต และส่งคืนเฉพาะส่วนไดเร็กทอรีของเส้นทาง ซึ่งจากนั้นจะถูกจัดเก็บไว้ใน $ตัวแปร directoryPath
ฉันรันสคริปต์ PowerShell โดยใช้รหัส VS คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:
ดึงข้อมูลไดเร็กทอรีหลัก
หากคุณต้องการดึงข้อมูลไดเรกทอรีหลักของเส้นทางไฟล์ คุณสามารถใช้พารามิเตอร์ -Parent กับ Split-Path cmdlet
$filePath = "C:\Users\ExampleUser\Documents\File.txt"
$parentDirectory = Split-Path -Path $filePath -Parent
Write-Output $parentDirectoryซึ่งจะส่งออกเส้นทาง C:\Users\ExampleUser\Documents ซึ่งเป็นไดเร็กทอรีหลักของไฟล์ที่ระบุ
แยกองค์ประกอบใบไม้
หากคุณต้องการแยกชื่อไฟล์หรือโฟลเดอร์สุดท้ายในเส้นทาง คุณสามารถใช้พารามิเตอร์ -Leaf
$filePath = "C:\Users\ExampleUser\Documents\File.txt"
$fileName = Split-Path -Path $filePath -Leaf
Write-Output $fileNameสิ่งนี้จะส่งออก File.txt ซึ่งเป็นองค์ประกอบใบไม้ของเส้นทาง คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:
2. การใช้ Get-Location Cmdlet
นี่เป็นอีกวิธีหนึ่งในการรับไดเร็กทอรีปัจจุบันใน PowerShell โดยใช้ cmdlet Get-Location ซึ่งเทียบเท่ากับคำสั่งไดเร็กทอรีการพิมพ์ (pwd) ที่พบในเชลล์อื่น
$directoryPath = Get-Location
Write-Output $directoryPathนี่จะแสดงเส้นทางของไดเร็กทอรีปัจจุบันที่สคริปต์กำลังดำเนินการอยู่
3. การใช้วิธี .NET
สำหรับผู้ที่ต้องการใช้วิธี .NET PowerShell สามารถโต้ตอบกับกรอบงาน .NET ได้ ซึ่งช่วยให้คุณสามารถใช้วิธีการต่างๆ เพื่อจัดการเส้นทางได้
นี่คือสคริปต์ PowerShell ที่สมบูรณ์
$filePath = "C:\Users\ExampleUser\Documents\File.txt"
$directoryPath = [System.IO.Path]::GetDirectoryName($filePath)
Write-Output $directoryPathวิธีการ [System.IO.Path]::GetDirectoryName เป็นวิธีการ .NET ที่ใช้เส้นทางเป็นอินพุต และส่งกลับส่วนไดเรกทอรีของเส้นทาง
บทสรุป
ฉันหวังว่าหลังจากอ่านบทช่วยสอนนี้แล้ว คุณได้เรียนรู้วิธีแยกไดเร็กทอรีจากพาธของไฟล์ใน PowerShell โดยใช้ 3 วิธีที่แตกต่างกัน

