Ich möchte die Berechtigungen einer Datei auf eine andere replizieren. Ich möchte die Daten nicht kopieren, nur die Berechtigungen.
Ich habe zum Beispiel eine neue Datei erstellt und möchte, dass diese die gleichen Berechtigungen hat wie eine andere Datei, die bereits vorhanden ist.
windows-7
file-permissions
acl
TaoTao
quelle
quelle
Antworten:
Mit icacls und einem Texteditor ist dies in wenigen Schritten möglich .
Zuerst müssen Sie die Berechtigungen der Originaldatei speichern
Sie müssen die
perms.txt
soeben erstellte Datei in dem Ordner bearbeiten, in dem Sie sie ausgeführt habenicacls
. Die Datei sollte ungefähr so aussehen:Sie können das ganze Zeug in der 2. Reihe ignorieren, alles, was uns interessiert, ist die erste Reihe. Ändern Sie den
file1.bin
in Ihren neuen Dateinamenfile2.bin
und speichern Sie die Datei.Jetzt müssen Sie nur noch die Dateiberechtigungen für die 2. Datei wiederherstellen. Beachten Sie, dass wir diesmal keinen Dateinamen angegeben haben. (Wenn Sie die Fehlermeldung erhalten, dass dem Aufrufer nicht alle Berechtigungen oder Gruppen zugewiesen sind, auf die verwiesen wird, führen Sie das Programm an einer Eingabeaufforderung mit erhöhten Rechten erneut aus.)
quelle
File.GetAccessControl()
und machenFile.SetAccessControl()
Erstellen Sie beispielsweise eine
cpdacls.bat
Datei mit folgendem Inhalt, um sie in einem Stapel zu erstellen (Kopieren von Sicherheitsberechtigungen aus einem Unterordner oder allen Ordnern eines Laufwerks in das gleiche Ordner- / Dateistruktur auf einem anderen Laufwerk) :Und dann lass es so laufen
cpdacls.bat e:\ f:\
.Beachten Sie, dass die Ordnerstruktur im Zielordner die gleichen wie Ordnerstruktur im Quellordner sein muss, von seiner Wurzel genommen , nicht je nachdem , was Unterordner Sie als Quellordner angegeben haben.
quelle
Mit Abstand am einfachsten ist es, PowerShell zu verwenden und Folgendes auszuführen:
quelle