วิธีรับวันที่สร้างไฟล์ใน PowerShell
เมื่อจัดการไฟล์บนระบบ Windows คุณอาจต้องทราบบ่อยครั้งว่าไฟล์ถูกสร้างขึ้นเมื่อใด ในบทช่วยสอน PowerShell นี้ เราจะสำรวจวิธีการต่างๆ เพื่อรับวันที่สร้างไฟล์โดยใช้ PowerShell พร้อมตัวอย่างต่างๆ
หากต้องการรับวันที่สร้างไฟล์ใน PowerShell คุณสามารถใช้ cmdlet Get-Item ตามด้วยการเข้าถึงคุณสมบัติ CreationTime ของออบเจ็กต์ผลลัพธ์ ตัวอย่างเช่น:
$file = Get-Item "C:\MyFolder\MyFile.txt"
$creationDate = $file.CreationTime
Write-Output "The file was created on: $creationDate"สคริปต์นี้จะส่งออกวันที่และเวลาที่แน่นอนเมื่อไฟล์ถูกสร้างขึ้น
รับวันที่สร้างไฟล์ใน PowerShell
PowerShell มี cmdlets ต่างๆ เพื่อรับวันที่สร้างไฟล์ ให้เราสำรวจวิธีการเหล่านี้ทั้งหมด:
วิธีที่ 1: การใช้ Get-Item
Get-Item cmdlet เป็นคำสั่ง PowerShell ที่ใช้กันอย่างแพร่หลายในการเรียกข้อมูลวันที่สร้างไฟล์ จะดึงรายการในตำแหน่งที่ระบุและส่งกลับวัตถุที่เป็นตัวแทนของรายการรวมถึงคุณสมบัติของรายการด้วย
นี่เป็นตัวอย่างง่ายๆ:
$file = Get-Item "C:\MyFolder\Notes.docx"
$creationDate = $file.CreationTime
Write-Output "The file was created on: $creationDate"สคริปต์นี้จะส่งออกวันที่และเวลาที่สร้างของไฟล์ที่ระบุ คุณสมบัติ CreationTime ของวัตถุไฟล์มีข้อมูลที่เราต้องการ
ฉันรันสคริปต์ PowerShell และคุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:
วิธีที่ 2: การใช้ Get-ChildItem
หากคุณกำลังทำงานกับหลายไฟล์ คุณสามารถใช้ PowerShell Get-ChildItem cmdlet ได้
นี่คือตัวอย่างในการรับวันที่สร้างไฟล์ของไฟล์ทั้งหมดที่แสดงในไดเร็กทอรีโดยใช้ PowerShell
$files = Get-ChildItem "C:\MyFolder\*"
foreach ($file in $files) {
$creationDate = $file.CreationTime
Write-Output "The file $($file.Name) was created on: $creationDate"
}สคริปต์นี้แสดงรายการไฟล์ทั้งหมดในไดเร็กทอรีและพิมพ์วันที่สร้าง มีประโยชน์อย่างยิ่งสำหรับการจัดเก็บไฟล์หลายไฟล์
คุณสามารถดูผลลัพธ์ด้านล่าง หลังจากที่ฉันรันสคริปต์ PowerShell ข้างต้น
วิธีที่ 3: การใช้คลาส [System.IO.File]
หากคุณต้องการใช้คลาส .Net ใน PowerShell คุณสามารถใช้คลาส [System.IO.File] เพื่อเข้าถึงวันที่สร้างไฟล์ได้
$filePath = "C:\MyFolder\Notes.docx"
$creationDate = [System.IO.File]::GetCreationTime($filePath)
Write-Output "The file was created on: $creationDate"
วิธีการนี้จะใช้ประโยชน์จากความสามารถในการจัดการไฟล์ของเฟรมเวิร์ก .NET โดยตรง ซึ่งผู้ที่มีพื้นฐานในภาษา .NET จะคุ้นเคยมากกว่า
วิธีที่ 4: การใช้วัตถุ WMI
Windows Management Instrumentation (WMI) เป็นอีกหนึ่งคุณสมบัติอันทรงพลังที่สามารถใช้กับ PowerShell เพื่อรับวันที่สร้างไฟล์ นี่คือวิธีที่คุณสามารถทำได้:
$filePath = "C:\MyFolder\file.txt"
$creationDate = Get-WmiObject -Query "SELECT CreationDate FROM CIM_DataFile WHERE Name = '$filePath'"
Write-Output "The file was created on: $($creationDate.ConvertToDateTime($creationDate.CreationDate))"สคริปต์นี้ใช้ WMI เพื่อสอบถามคลาส CIM_DataFile ซึ่งแสดงถึงไฟล์ข้อมูลในระบบคอมพิวเตอร์ที่ใช้ Windows โปรดทราบว่าคุณต้องแทนที่แบ็กสแลชในเส้นทางไฟล์ด้วยแบ็กสแลชคู่ในแบบสอบถาม WMI
วิธีที่ 5: การใช้ฟังก์ชันที่กำหนดเองของ PowerShell
คุณยังสามารถสร้างฟังก์ชัน PowerShell แบบกำหนดเองเพื่อสรุปตรรกะสำหรับการเรียกข้อมูลวันที่สร้างไฟล์และทำให้สามารถนำมาใช้ซ้ำได้
function Get-FileCreationDate {
param (
[string]$filePath
)
$file = Get-Item $filePath
return $file.CreationTime
}
# Usage
$creationDate = Get-FileCreationDate -filePath "C:\MyFolder\file.txt"
Write-Output "The file was created on: $creationDate"ด้วยฟังก์ชันนี้ คุณสามารถเรียก Get-FileCreationDate ด้วยเส้นทางไฟล์ที่แตกต่างกันเพื่อรับวันที่สร้างได้อย่างง่ายดาย
บทสรุป
PowerShell เสนอหลายวิธีในการดึงข้อมูลวันที่สร้างไฟล์ ในบทช่วยสอน PowerShell นี้ ฉันได้อธิบายวิธีรับวันที่สร้างไฟล์ใน PowerShell โดยใช้วิธีต่างๆ และหวังว่ามันจะช่วยคุณได้

