Datei Attribute in PowerShell anzeigen
PowerShell ist ein mächtiges Werkzeug, mit dem man sehr viel auslesen und anzeigen kann. Wenn man in der PowerShell den DIR Befehl aufruft, wird in Wirklichkeit auf den Befehle Get-Childitem zurückgegriffen. Dieses Cmdlet gibt Datei- und Ordnerobjekte zurück. Spezifisch System.IO.FileSystem bzw. System.IO.DirectoryInfo.
Wir zeigen euch hier in diesem Tutorial, wie man Datei Attribute in der PowerShell auslesen kann.
Dieses Tutorial ist für die Windows 10 1903 (und höher), 1809, 1803, 1709, 1703 und 1607 geeignet.
- Neu installieren: Windows 10 neu installieren - Tipps und Tricks
- Unterschied Cloud Download Lokale Neuinstallation und Inplace Upgrade Windows 10
- Windows 10 ISO Final : 22H2 19045 ISO
- Windows 10 Patchday 11.03.2025 KB5053606 Windows 10 19045.5608
- Funktionsupdate auf Windows 10 22H2 (19045) KB5015684 Enablement Package - Download
- Intel Microcode Updates für Windows 10 20H2 / 2004 bis 1507 (27.01.2021)
Wenn der Befehl ausgeführt wird, gibt dieser auch eine Modus-Spalte zusätzlich mit zurück.
PS C:\tut> dir *.txt Verzeichnis: C:\tut Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 12.08.2017 23:05 0 test1.txt -a---- 12.08.2017 23:05 0 test2.txt -a---- 12.08.2017 23:06 0 test3.txt
Der "Mode" zeigt einen die Attribute der Datei oder des Verzeichnis an. Es ist aber auch möglich, direkt die Attribute zu bekommen:
PS C:\tut> dir *.txt | select Name,Attributes Name Attributes ---- ---------- test1.txt Archive test2.txt Archive test3.txt Archive
Die Attribute sind eigentlich ein spezieller Objekttyp. Man kann aber auch mit Get-Item eine Versteckte Datei oder einen Versteckten Ordner anzeigen lassen, da "dir" alleine keine versteckten Daten oder Ordner anzeigen wird.
PS C:\tut> $f=get-item .\test1.txt -force PS C:\tut> $f Verzeichnis: C:\tut Mode LastWriteTime Length Name ---- ------------- ------ ---- ---h-- 12.08.2017 23:05 0 test1.txt
Um nun die Datei oder den Ordner zu verstecken, muss man mit den Attributen arbeiten:
PS C:\tut> $f.attributes="Hidden" PS C:\tut> $f Verzeichnis: C:\tut Mode LastWriteTime Length Name ---- ------------- ------ ---- ---h-- 12.08.2017 23:05 0 test1.txt
Wenn man nach Speziellen Attributen bei der DIR Auflistung filtern möchte, kann man dies mit dem -match Parameter machen:
PS C:\tut> dir -force | where {$_.attributes -match "Hidden"} Verzeichnis: C:\tut Mode LastWriteTime Length Name ---- ------------- ------ ---- ---h-- 12.08.2017 23:05 0 test1.txt
Man kann auch einfach einen Ordner bei der Erstellung direkt das Hidden Attribute geben. Dafür erstellt man erst einmal einen neuen Ordner:
PS C:\tut> $h=mkdir Test4 PS C:\tut> $h Verzeichnis: C:\tut Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 13.08.2017 17:05 Test4
Um ihm nun das Attribute "Hidden" zu geben, muss man wieder .attributes nutzen:
PS C:\tut> $h.attributes="Hidden" PS C:\tut> $h Verzeichnis: C:\tut Mode LastWriteTime Length Name ---- ------------- ------ ---- d--h-- 13.08.2017 17:05 Test4
Nun wird der Ordner wieder sichtbar gemacht:
PS C:\tut> $f=Get-Item .\Test4\ -force PS C:\tut> $f Verzeichnis: C:\tut Mode LastWriteTime Length Name ---- ------------- ------ ---- d--h-- 13.08.2017 17:05 Test4 PS C:\tut> $f.attributes="ReadOnly" PS C:\tut> $f Verzeichnis: C:\tut Mode LastWriteTime Length Name ---- ------------- ------ ---- d-r--- 13.08.2017 17:05 Test4
Um nun einer Gruppe von Dateien Attribute zu geben, muss man den Befehl ForEach verwenden:
PS C:\tut> dir t*.zip Verzeichnis: C:\tut Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 13.08.2017 17:09 2096 test.zip -a---- 13.08.2017 17:09 2096 test2.zip -a---- 13.08.2017 17:09 2096 test3.zip PS C:\tut> dir t*.zip | foreach {$_.Attributes="Archive","Hidden"} PS C:\tut> dir t*.zip -force Verzeichnis: C:\tut Mode LastWriteTime Length Name ---- ------------- ------ ---- -a-h-- 13.08.2017 17:09 2096 test.zip -a-h-- 13.08.2017 17:09 2096 test2.zip -a-h-- 13.08.2017 17:09 2096 test3.zip
Es wird hier wieder dir t*.zip -force genutzt, weil nur dann auch Versteckte Dateien mit aufgelistet werden.
Hinweis: Attribute müssen mit einem Komma getrennt werden. Wenn man nicht sicher ist, welche Attribute zur Verfügung stehen, kann man die PowerShell ganz einfach fragen:
PS C:\tut> [enum]::GetNames("system.io.fileattributes") ReadOnly Hidden System Directory Archive Device Normal Temporary SparseFile ReparsePoint Compressed Offline NotContentIndexed Encrypted IntegrityStream NoScrubData
Danke an Lemoth für das Tutorial
Fragen zu Windows 10?
Du hast Fragen oder benötigst Hilfe? Dann nutze bitte unser Forum und nicht die Tipp-Box! Auch Gäste (ohne Registrierung) können bei uns Fragen stellen oder Fragen beantworten. - Link zum Forum | Forum Windows 10
Neue Tutorials für Windows 10 | Top 10 der Tutorials für Windows 10 | |