43060
Goto Top

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

Content-Key: 50995

Url: https://administrator.de/contentid/50995

Printed on: April 25, 2024 at 16:04 o'clock

Member: Scroller
Scroller Feb 16, 2009 at 05:54:40 (UTC)
Goto Top
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