
43060
07.02.2007
Powershell: Nutzung des Archivbits möglich?
Gibt es eine Möglichkeit, mit Powershell das Archivbit auszulesen / zu verändern?
Hallo liebe Wissenden,
es soll eine kleine Synchronisationslösung entwickelt werden, die in einer einfachen Server-Client-Umgebung zum Einsatz kommen soll. Da ich seit kurzem wegen Administrationsaufgaben auch die Powershell nutze, möchte ich sie ebenfalls für den Datenabgleich nutzen.
Die Schwierigkeit an der Sache ist die, dass die Dateien weder anhand des Dateidatums noch der Dateigröße/CRC verglichen werden können. Es bleibt also nur die Möglichkeit, geänderte Dateien anhand des Archivbits zu erkennen. Das Skript muss sowohl das Archivbit auslesen, als auch entfernen können. Ich habe das offizielle Handbuch zur Powershell schon durch und auch schon etwas im Internet recherchiert. Bin bis jetzt aber noch nicht fündig geworden. Die Powershell ist ja schon recht mächtig (im Vergleich zum Batch), aber sie kann sicher nicht alles. Evt. gibt es ja entsprechende COM-Objekte, die diese Aufgabe beherrschen. Nur ist das nicht so mein Gebiet.
Meine Frage also: Verfügt die Powershell über ein eigenes cmdlet zum Auslesen/Manipulieren des Archivbits? Oder gibt es ein entsprechendes WSH-/COM-Objekt oder Funktion aus der FCL die diese Möglichkeit bietet? Wäre sehr dankbar wenn mir jemand einen heißen Tipp geben könnte.
Viele Grüße,
Björn
Hallo liebe Wissenden,
es soll eine kleine Synchronisationslösung entwickelt werden, die in einer einfachen Server-Client-Umgebung zum Einsatz kommen soll. Da ich seit kurzem wegen Administrationsaufgaben auch die Powershell nutze, möchte ich sie ebenfalls für den Datenabgleich nutzen.
Die Schwierigkeit an der Sache ist die, dass die Dateien weder anhand des Dateidatums noch der Dateigröße/CRC verglichen werden können. Es bleibt also nur die Möglichkeit, geänderte Dateien anhand des Archivbits zu erkennen. Das Skript muss sowohl das Archivbit auslesen, als auch entfernen können. Ich habe das offizielle Handbuch zur Powershell schon durch und auch schon etwas im Internet recherchiert. Bin bis jetzt aber noch nicht fündig geworden. Die Powershell ist ja schon recht mächtig (im Vergleich zum Batch), aber sie kann sicher nicht alles. Evt. gibt es ja entsprechende COM-Objekte, die diese Aufgabe beherrschen. Nur ist das nicht so mein Gebiet.
Meine Frage also: Verfügt die Powershell über ein eigenes cmdlet zum Auslesen/Manipulieren des Archivbits? Oder gibt es ein entsprechendes WSH-/COM-Objekt oder Funktion aus der FCL die diese Möglichkeit bietet? Wäre sehr dankbar wenn mir jemand einen heißen Tipp geben könnte.
Viele Grüße,
Björn
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 50995
Url: https://administrator.de/forum/powershell-nutzung-des-archivbits-moeglich-50995.html
Ausgedruckt am: 29.04.2025 um 12:04 Uhr
1 Kommentar
hi,
So mache ich das auch. es geht prinzipiell mit .net klasse System.IO.FileAttributes siehe hier:
http://www.dotnetframework.de/lserver/CodeSampleDetails.aspx?c=4672
ich habe dann das ganze mit robocopy gelöst und den entspr. Schalte für das Archivbit gesetzt.
Ab und an soll eine Vollsicherung laufen. Dazu setze ich vorher bei allen dateien das Archivbit mit folgendem befehl:
dir -rec -fo | ? {$_.mode -notlike "d*"} | ? { $_.attributes -notlike "*archive*"} | % {attrib $_.fullname +a}
Gruss sc
So mache ich das auch. es geht prinzipiell mit .net klasse System.IO.FileAttributes siehe hier:
http://www.dotnetframework.de/lserver/CodeSampleDetails.aspx?c=4672
ich habe dann das ganze mit robocopy gelöst und den entspr. Schalte für das Archivbit gesetzt.
Ab und an soll eine Vollsicherung laufen. Dazu setze ich vorher bei allen dateien das Archivbit mit folgendem befehl:
dir -rec -fo | ? {$_.mode -notlike "d*"} | ? { $_.attributes -notlike "*archive*"} | % {attrib $_.fullname +a}
Gruss sc