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

วิธีแยกไดเรกทอรีออกจากเส้นทางไฟล์ใน 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 วิธีที่แตกต่างกัน

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