Τρόπος επεξεργασίας των μαρκαρισμάτων με το Windows PowerShell

Το ακόλουθο σεμινάριο δείχνει πώς μπορείτε να επεξεργάζεστε timestamps αρχείων - δημιουργία, τελευταία πρόσβαση και τελευταία εγγραφή - χρησιμοποιώντας το Windows PowerShell.

Το PowerShell είναι μέρος οποιασδήποτε σύγχρονης έκδοσης του λειτουργικού συστήματος των Windows της Microsoft. Η Microsoft άλλαξε το PowerShell από τη γραμμή εντολών στα Windows 10, αλλά δεν την κατάργησε.

Οι χρήστες των Windows 10 και οι διαχειριστές έχουν πρόσβαση και στις δύο, αλλά η εστίαση ανάπτυξης βρίσκεται καθαρά στο PowerShell.

Κάθε αρχείο στα Windows και σε άλλα λειτουργικά συστήματα έχει πολλά χρονικά σήματα που σχετίζονται με αυτό. Το σύστημα αρχείων παρακολουθεί το χρόνο δημιουργίας αρχείων, τον τελευταίο χρόνο πρόσβασης και τον τελευταίο χρόνο εγγραφής.

Τρόπος επεξεργασίας των μαρκαρισμάτων με το Windows PowerShell

Το πρώτο πράγμα που πρέπει να κάνετε είναι να ξεκινήσετε ένα παράθυρο PowerShell. Πατήστε στο πλήκτρο των Windows, πληκτρολογήστε PowerShell και στη συνέχεια πατήστε το πλήκτρο Enter. Σημειώστε ότι αυτό εκκινεί την ερώτηση κάτω από τον τρέχοντα λογαριασμό χρήστη. Εάν χρειάζεστε μια αυξημένη ερώτηση, για παράδειγμα για να επεξεργαστείτε χρονικά σήματα αρχείων φακέλων στους οποίους ο χρήστης έχει περιορισμένη πρόσβαση, κρατήστε πατημένο το πλήκτρο Shift και το πλήκτρο Ctrl επιπλέον.

Οι τρεις εντολές που χρειάζεστε είναι οι ακόλουθες:

  • $ (Get-Item FILENAME.EXT) .creationtime = $ (DATE)
  • $ (Get-Item FILENAME.EXT) .lastaccesstime = $ (DATE)
  • $ (Get-Item FILENAME.EXT) .lastwritetime = $ (DATE)

Οι τρεις εντολές αλλάζουν τις ημερομηνίες δημιουργίας, τελευταίας πρόσβασης και τελευταίας εγγραφής του αρχείου όταν τις εκτελείτε.

Σημείωση : Ο τελευταίος χρόνος πρόσβασης δεν είναι ενεργοποιημένος από προεπιλογή σε όλες τις υποστηριζόμενες εκδόσεις των Windows λόγω προβλημάτων απόδοσης.

Για να σας δώσω μερικά παραδείγματα:

  • $ (Get-Item test.txt) .creationtime = $ (Get-Date)
  • $ (Get-Item test.txt) .lastaccesstime = $ (Get-Date "12/24/2011 07:15 π.μ.")

Η πρώτη εντολή θέτει τη χρονική σήμανση δημιουργίας του αρχείου text.txt στην τρέχουσα ημερομηνία και ώρα. Η δεύτερη εντολή αλλάζει την τελευταία ώρα και ημερομηνία πρόσβασης στις 24 Δεκεμβρίου 2011 στις 7:15 π.μ.

Σημειώστε ότι η εντολή απαιτεί ότι το αρχείο βρίσκεται στον τρέχοντα κατάλογο της εντολής PowerShell.

Χρήσιμες εντολές

Ένα πράγμα που μπορεί να είναι χρήσιμο είναι η λίστα των χρονικών σημείων αρχείου του τρέχοντος φακέλου πριν και μετά την εκτέλεση της εντολής PowerShell. Αυτό διευκολύνει την εύρεση αρχείων που εξακολουθούν να χρειάζονται αλλαγή και ελέγξτε εάν οι αλλαγές εφαρμόστηκαν σωστά.

Get-ChildItem -force Λειτουργία επιλογής-αντικειμένου, όνομα, χρόνος δημιουργίας, LastAccessTime, LastWriteTime | ft

Η εντολή αναφέρει όλα τα αρχεία και τους φακέλους της τρέχουσας διαδρομής και εμφανίζει το χρόνο δημιουργίας, τον τελευταίο χρόνο πρόσβασης και τον τελευταίο χρόνο εγγραφής κάθε στοιχείου σε έναν πίνακα.

  • -force σε αυτό το πλαίσιο περιλαμβάνει κρυφά και αρχεία συστήματος στην έξοδο.
  • ft είναι σύντομη για τον πίνακα μορφοποίησης.

Εάν χρειάζεστε μόνο τη δημιουργία του timestamp, εκτελέστε το Get-ChildItem -force αντί.

Η ακόλουθη δέσμη ενεργειών εκτελεί τη λειτουργία σε όλα τα αρχεία.

$ modifyfiles = Get-ChildItem -force | Όπου-Αντικείμενο {! $ _. PSIsContainer}

foreach ($ object στο $ modifyfiles)

{

$ object.CreationTime = ("11/11/2011 12:00:00")

$ object.LastAccessTime = ("11/11/2011 12:00:00")

$ object.LastWritetime = ("11/11/2011 12:00:00")

}}

Απλά αντιγράψτε και επικολλήστε το και αλλάξτε το σύμφωνα με τις απαιτήσεις σας.

Συμβουλή: Εάν προτιμάτε μια γραφική διεπαφή χρήστη όταν πρόκειται για αλλαγή χρονικών σημείων, ανατρέξτε στο πρόγραμμα αλλαγής χαρακτηριστικών του προγράμματος ελεύθερου λογισμικού.