Entwickler-Ecke

IO, XML und Registry - Ändern von Dateiattributen


mindhunter - Do 16.12.21 09:06
Titel: Ändern von Dateiattributen
Hallo zusammen,

beim Kopieren von Dateien werden in den Dateiattributen der Computername und Besitzer mitgeschrieben. Können diese Attribute geändert werden und könnte eine Änderung dann auch für Dateien in einem ganzen Ordner übernommen werden?
Vielleicht gibt es hier im Forum einen Lösung.

Gruß Stefan

Moderiert von user profile iconTh69: Topic aus ASP.NET und Web verschoben am Do 16.12.2021 um 09:19


Th69 - Do 16.12.21 10:48

Die Security-Dateiattribute können mittels der Methode File.SetAccessControl [https://docs.microsoft.com/en-us/dotnet/api/system.io.file.setaccesscontrol?view=netframework-4.8] (beachte die "Remarks"!) geändert werden, s.a. Getting / setting file owner in C# [https://stackoverflow.com/questions/153087/getting-setting-file-owner-in-c-sharp].

Für Ordner gibt es es entsprechend Directory.SetAccessControl [https://docs.microsoft.com/en-us/dotnet/api/system.io.directory.setaccesscontrol?view=netframework-4.8] - aber die Dateien dadrin müßtest du einzeln ändern.

Der Computername sollte immer dem des aktuellen Rechners entsprechen, d.h. dieser kann m.E. nicht geändert werden.

PS: Mit dem Terminalkommando "icacls" (bzw. dem veralteten "cacls") lassen sich auch diese Dateiattribute ändern (mit "icacls /?" kann man die Hilfe dazu aufrufen, d.h. dort ist beschrieben, was man alles ändern kann).