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

วิธีรับนามสกุลไฟล์โดยใช้ PowerShell (พร้อมตัวอย่าง)


บ่อยครั้งคุณอาจต้องการแยกเฉพาะส่วนขยายจากชื่อไฟล์โดยใช้ PowerShell

มีสองวิธีทั่วไปในการดำเนินการดังกล่าว:

วิธีที่ 1: รับนามสกุลไฟล์จากดิสก์

$my_file = Get-Item "c:\users\bobbi\nba_data.xlsx"
$my_file.Extension

ตัวอย่างเฉพาะนี้ใช้ Get-Item cmdlet เพื่อดึงไฟล์ที่อยู่ในเส้นทางเฉพาะ จากนั้นใช้คุณสมบัติ ส่วนขยาย เพื่อแยกเฉพาะส่วนขยายจากชื่อไฟล์

วิธีที่ 2: รับนามสกุลไฟล์จากสตริง

$my_file = "c:\users\bobbi\nba_data.csv"
[System.IO.Path]::GetExtension($my_file)

ตัวอย่างเฉพาะนี้ใช้ [System.IO.Path]::GetExtension เพื่อแตกนามสกุลของไฟล์โดยตรงเมื่อชื่อไฟล์ถูกจัดเก็บเป็นสตริง

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่างที่ 1: รับนามสกุลไฟล์จากดิสก์โดยใช้ PowerShell

สมมติว่าเรามีไฟล์อยู่ที่เส้นทางต่อไปนี้:

C:\Users\bobbi\nba_data.xlsx

สมมติว่าเราต้องการแยกเฉพาะนามสกุลไฟล์จากพาธนี้

วิธีหนึ่งที่ทำได้คือใช้ Get-Item เพื่อดึงข้อมูลไฟล์ จากนั้นใช้คุณสมบัติ Extension เพื่อแยกเฉพาะส่วนขยาย:

$my_file = Get-Item "c:\users\bobbi\nba_data.xlsx"
$my_file.Extension

ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:

เราจะเห็นว่าสิ่งนี้ส่งคืน .xlsx ซึ่งแสดงเฉพาะนามสกุลของไฟล์

ตัวอย่างที่ 2: รับนามสกุลไฟล์จากสตริงโดยใช้ PowerShell

สมมติว่าเรามีตำแหน่งไฟล์ที่เก็บไว้ในสตริงใน PowerShell:

“c:\users\bobbi\nba_data.xlsx”

สมมติว่าเราต้องการแยกเฉพาะนามสกุลไฟล์จากสตริงนี้

วิธีหนึ่งในการทำเช่นนั้นคือการใช้ [System.IO.Path]::GetExtension เพื่อแตกนามสกุลของไฟล์โดยตรง:

$my_file = "c:\users\bobbi\nba_data.xlsx"
[System.IO.Path]::GetExtension($my_file)

ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:

เราจะเห็นว่าสิ่งนี้ส่งคืน .xlsx ซึ่งแสดงเฉพาะนามสกุลของไฟล์

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