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

วิธีรับวันที่สร้างไฟล์ใน 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 โดยใช้วิธีต่างๆ และหวังว่ามันจะช่วยคุณได้

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