Versteckte Dateien finden
Wenn Du was dazulernen willst, gehe in ein Krankenhaus – mit dem Laptop natürlich – und benutze eine praktische Cloud-Anwendung zum Replizieren der Daten auf den Laptop.
Ich habe mir vorsorglich OwnCloud auf meinen Laptop installiert und die Daten synchronisiert, in der Absicht, die langen Stunden im Krankenhaus zu nutzen. Und es schien auch alles geklappt zu haben.
Eines dieser Vorhaben waren Arbeiten an einem Visual Studio-Projekt. Siehe da, das äußerlich vollständig scheinende Projektverzeichnis konnte am Laptop nicht geöffnet werden.
So, wie mein Zustand damals war, war das eh besser, denn ich wäre schön enttäuscht gewesen, wenn meine Konzentration für die verworrenen Programme nicht ausgereicht hätte. Und es gab ohnehin genügend andere Baustellen. Die Müdigkeit als ständiger Begleiter hat mir aber auch dort einen Strich durch die Rechnung gemacht.
Aber was war die Ursache dafür, dass Visual Studio das Projekt nicht öffnen konnte?
Einstellungen in OwnCloud
Bei einer Neuinstallation des OwnCloud-Clients am PC werden alle Dateien synchronisiert, und auf den ersten Blick und einigen Stunden Wartezeit bis zum Ende der Synchronisation schaut auch alles ganz ordentlich aus, jedenfalls meldet OwnCloud, dass 354 GB synchronisiert sind. Der größte Teil davon ist der Ordern clubintern
, der mit allen Mitgliedern geteilt wird.
Schaltet man aber auf "Aktivität" -> "nicht synchronisiert" findet man eine beträchtliche Liste von Dateien, die nicht auf den Server kopiert worden sind, weil sie versteckt sind.
Welche Dateien werden vom System versteckt?
Versteckt (hidden) sind in erster Linie Dateien, die vom Betriebssystem (z.B. thumbs.db
), von einem Programm (z.B. von Picasa .picasa.ini
) oder – wie hier im Bild gezeigt – von der Programmierumgebung Visual Studio angelegt wurde (z.B. Wapp.v12.suo
). Das obige Bildbeispiel zeigt, dass OwnCloud diese versteckten Dateien nicht repliziert, sie befinden sich nur am lokalen Rechner aber nicht in der Cloud. und daher wurden sie auch nicht auf den Laptop kopiert.
Diese letzteren Dateien (*.suo) werden von der Programmierumgebung verwaltet und „gehen den Benutzer nichts an“, daher sind sie versteckt. Wenn man nun aber solche Dateien in den OwnCloud repliziert und dann auf einem anderen Rechner weiterverarbeitet – genau das habe ich gemacht, dann fehlen diese wichtigen Dateien, und man kann die Projekte nicht öffnen.
Hinweis: Im OneDrive von Microsoft ist das nicht so, OneDrive verzichtet nur auf den Upload der Dateien thumbs.db
.
Für dieses Synchronisationsproblem gibt es zwei Lösungsmöglichkeiten:
- Man bringt OwnCloud bei, auch versteckte Dateien zu synchronisieren oder
- Man löscht das Hidden-Attribut auf allen betroffenen Dateien.
OwnCloud synchronisiert auch versteckte Dateien…
…aber nur, wenn man das in den Einstellungen aktiviert, der Default-Fall ist „nicht synchronisieren“
Da kann man schon fast sehr zufrieden sein. Allerdings werden mit diesem Schalter auch Dateien wie thumbs.db
kopiert. thumbs.db
entsteht in jedem Ordner, in dem sich Bilder befinden. Sie enthält Miniaturansichten aller Bilder. Damit wird der Bildaufbau erheblich beschleunigt. Löscht man diese Datei, dann wird sie beim nächsten Aufruf des Ordners im Explorer automatisch neu angelegt. Man sieht, dass es versteckte Dateien mit unterschiedlicher Wichtigkeit gibt.
Wem es also egal ist, ob hier auch unwichtige versteckte Dateien auf den Server kopiert werden, kann das Häkchen bei „Synchronisiere versteckte Dateien“ aktivieren, und alles wird synchronisiert.
Versteckt Dateien sichtbar machen…
…kann man mit einfachen Kommandozeilenaufrufen von PowerShell. Diese Aufrufe haben den Vorteil, dass man bestimmte Dateien ausschließen kann und dass daher nur jene Dateien auf den Server kopiert werden, die für die Funktion einer Anwendung notwendig sind.
Für Versuche mit versteckten Dateien wird am Desktop ein Ordner test
mit den Dateien test1.txt
(sichtbar) und test2.txt
(versteckt) angelegt. In der Folge nähern wir uns dem Endergebnis, dem Sichtbarmachen der wichtigen versteckten Dateien.
Anzeige aller sichtbaren Dateien in einem Pfad
PS S:\>get-ChildItem -Path S:\OneDrive\desktop\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 03.10.2022 10:15 0 test1.txt
Anzeige aller sichtbaren und versteckten Dateien
PS S:\>get-ChildItem -Path S:\OneDrive\desktop\test -Force
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 03.10.2022 10:15 0 test1.txt
-a-h-- 03.10.2022 10:15 0 test2.txt
Anzeige aller versteckten Dateien
PS S:\>get-ChildItem -Path S:\OneDrive\desktop\test -Force -ah
Mode LastWriteTime Length Name ---- ------------- ------ ---- -a-h-- 03.10.2022 10:15 0 test2.txt
Ausschließen unwichtiger Dateien
Verschiedene versteckte Dateien sind zwar für den Aufruf durch ein Programm oder durch das System von Bedeutung, doch wenn sie nicht existieren, werden sie automatisch neu angelegt. Wir schon oben erwähnt können das sein desktop.ini
, folder.ico
, ~temporary.file
oder thumbs.db
. Gleichnamige, versteckte Dateien werden nun im Ordner /test
angelegt, um zu prüfen, wie sie durch das Kommando berücksichtigt werden.
Unterdrückung unwichtiger Dateien
PS S:\>Get-ChildItem -Path S:\OneDrive\desktop\test -Force -Recurse -ah | Where-Object{ ($_.Name -ne "thumbs.db") -and ($_.Name -notlike "~*") -and ($_.Name -ne "desktop.ini") -and ($_.Name -ne "folder.ico")}
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a-h-- 03.10.2022 10:15 0 test2.txt
-Force
zeigt alle Dateien, unabhängig von ihrem Attribut-Recurse
führt den Befehl auch in allen tieferliegenden Unterverzeichnissen aus-ah
zeigt nur die Dateien mit dem Hidden-Attribut („h“)$_
ist das von Get-Children
zurückgelieferte Objekt.| Where-Object{ ($_.Name -ne "thumbs.db") -and ($_.Name -notlike "~*") -and ($_.Name -ne "desktop.ini") -and ($_.Name -ne "folder.ico")}
schließt die ausgewählten unsichtbaren Dateien aus, die nicht synchronisiert werden sollen. Diese Dateien bleiben versteckt und werden daher von OwnCloud nicht synchronisiert.
Löschen des Hidden-Attributs der erwünscht unsichtbaren Dateien
In diesem Beispiel ist allein die Datei test2.txt
unsichtbar und soll daher den Status „hidden“ verlieren, damit sie von OwnCLoud auf den Server kopiert wird.
Jede, so gefundene versteckte Datei, die nicht in der Liste der Ausnahmen steht, wird mit dem folgenden Kommando „foreach
“ und Write-Host
ausgegeben:
PS S:\> Get-ChildItem -Path S:\OneDrive\desktop\test -Force -Recurse -ah | Where-Object{ ($_.Name -ne "thumbs.db") -and ($_.Name -notlike "~*") -and ($_.Name -ne "desktop.ini") -and ($_.Name -ne "folder.ico")} | foreach {Write-Host $_.FullName} S:\OneDrive\desktop\test\test2.txt
Als einzige Datei wird test2.txt
ausgegeben.
Ergänzt man die foreach
-Schleife durch $_.Attributes = "Archive";
, wird bei allen diesen Dateien das Hidden-Attribut gelöscht, sie werden sichtbar und daher von OwnCloud auf den Server kopiert.
PS S:\> Get-ChildItem -Path S:\OneDrive\desktop\test -Force -Recurse -ah | Where-Object{ ($_.Name -ne "thumbs.db") -and ($_.Name -notlike "~*") -and ($_.Name -ne "desktop.ini") -and ($_.Name -ne "folder.ico")} | foreach {$_.Attributes = "Archive"; Write-Host $_.FullName} S:\OneDrive\desktop\test\test2.txt
Franz war pensionierter HTL Lehrer (TGM), Präsident von ClubComputer, Herausgeber der Clubzeitung PCNEWS und betreute unser Clubtelefon und Internet Support. Er war leidenschaftlicher Rapid Wien Fan. Er ist leider Anfang Jänner 2024 nach langer schwerer Krankheit verstorben.
Neueste Kommentare