Leere Ordner mit Desktop.ini-Datei kennzeichnen
Hallo zusammen,
ich brauche bitte eure Hilfe.
Mein Wunsch wäre es bei einer bestehenden Ordnerstruktur die jeweils leeren Ordner bzw. Ordner, welche auch nur Unterordner ohne Dateien enthalten optisch zu kennzeichnen, zB indem das Ordner-Icon bei leeren Ordnern auf ein weißes Blatt geändert wird. Sobald in den Ordner eine Datei gespeichert wird sollte sich das Icon wieder auf die gelbe Mappe ändern. Die Lösung, die mir nach einiger Suche am Besten gefallen hat, wäre, dies über die Desktop.ini-Datei zu steuern.
Ich habe im Forum auch schon Codebeispiele gefunden. Allerdings funktioniert das bei mir nicht.
Zur Info - ein Beispiel des Aufbaus der Ordnerstruktur
Gespeichert auf Laufwerk C:
Projekte
-23001_Kunde_Titel
--bereitgestellte Daten
--Modelle
--Dokumentation
-23001_Kunde_Titel
--bereitgestellte Daten
--Modelle
--Dokumentation
Die Datei Desktop.ini ist im Ordner "Projekte" gespeichert und enthält folgenden Code
Meine Programmierkenntnisse beschränken sich eigentlich auf VBA mittels learning by doing - also bitte um Nachsicht für dumme Fragen.
Vielen Dank für eure Hilfe und liebe Grüße
ich brauche bitte eure Hilfe.
Mein Wunsch wäre es bei einer bestehenden Ordnerstruktur die jeweils leeren Ordner bzw. Ordner, welche auch nur Unterordner ohne Dateien enthalten optisch zu kennzeichnen, zB indem das Ordner-Icon bei leeren Ordnern auf ein weißes Blatt geändert wird. Sobald in den Ordner eine Datei gespeichert wird sollte sich das Icon wieder auf die gelbe Mappe ändern. Die Lösung, die mir nach einiger Suche am Besten gefallen hat, wäre, dies über die Desktop.ini-Datei zu steuern.
Ich habe im Forum auch schon Codebeispiele gefunden. Allerdings funktioniert das bei mir nicht.
Zur Info - ein Beispiel des Aufbaus der Ordnerstruktur
Gespeichert auf Laufwerk C:
Projekte
-23001_Kunde_Titel
--bereitgestellte Daten
--Modelle
--Dokumentation
-23001_Kunde_Titel
--bereitgestellte Daten
--Modelle
--Dokumentation
Die Datei Desktop.ini ist im Ordner "Projekte" gespeichert und enthält folgenden Code
for / "delims=" %%i in ('dir /ad /b /s "C:\Projekte"') do if "%%~zi"=="0" (
[.ShellClassInfo]>> "%%~i\Desktop.ini"
IconFile=^%SystemRoot^%\system32\SHELL32.dll >> "%%~i\Desktop.ini"
IconIndex=131 >> "%%~i\Desktop.ini"
)
Meine Programmierkenntnisse beschränken sich eigentlich auf VBA mittels learning by doing - also bitte um Nachsicht für dumme Fragen.
Vielen Dank für eure Hilfe und liebe Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 21735441263
Url: https://administrator.de/contentid/21735441263
Ausgedruckt am: 21.11.2024 um 20:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo,
Dann machst du was falsch.
Gruss,
Peter
Dann machst du was falsch.
Die Datei Desktop.ini ist im Ordner "Projekte" gespeichert und enthält folgenden Code
Und nun sollen wir die Bild Zeitung nehmen und die Wöchentliche Fehlermeldung raussuchen?Gruss,
Peter
... ja.. habe ich es mir doch gedacht...
Im Original ist das eine Batchdatei, die
in Zeile 1 die Ordner prüft
in Zeile 2 die Desktop.ini neu erstellt (weil ein ">")
in Zeile 3 und 4 weitere Informationen an die Datei anhängt. (weil zwei ">")
Original:
Deine "Fälschung":
Wenn man irgendwo im Internet Codebeispiele findet, sie nicht versteht und dann auch noch verändert, ist es nicht verwunderlich, dass das Ergebnis anders ist, als erwartet
In diesem Fall nicht gefährlich - in anderen Fällen höchst riskant, weil man eben nicht weiß, was das Script nun wirklich auf dem Rechner so alles anstellt.
Gruß und Schönes WE
Im Original ist das eine Batchdatei, die
in Zeile 1 die Ordner prüft
in Zeile 2 die Desktop.ini neu erstellt (weil ein ">")
in Zeile 3 und 4 weitere Informationen an die Datei anhängt. (weil zwei ">")
Original:
for / "delims=" %%i in ('dir /ad /b /s "C:\ZielPfad"') do if "%%~zi"=="0" (
echo [.ShellClassInfo] > "%%~i\Desktop.ini"
echo IconFile=^%SystemRoot^%\system32\SHELL32.dll >> "%%~i\Desktop.ini"
echo IconIndex=131 >> "%%~i\Desktop.ini"
)
Deine "Fälschung":
for / "delims=" %%i in ('dir /ad /b /s "C:\Projekte"') do if "%%~zi"=="0" (
[.ShellClassInfo]>> "%%~i\Desktop.ini"
IconFile=^%SystemRoot^%\system32\SHELL32.dll >> "%%~i\Desktop.ini"
IconIndex=131 >> "%%~i\Desktop.ini"
Wenn man irgendwo im Internet Codebeispiele findet, sie nicht versteht und dann auch noch verändert, ist es nicht verwunderlich, dass das Ergebnis anders ist, als erwartet
In diesem Fall nicht gefährlich - in anderen Fällen höchst riskant, weil man eben nicht weiß, was das Script nun wirklich auf dem Rechner so alles anstellt.
Gruß und Schönes WE
... ach ja... was ich vergaß...
es fehlt sicher noch das ELSE. Ich wüsste nich, was Windows selbsständig dazu animeren sollte, die Ordnersymbole wieder auf alten Stand zu bringen, wenn da Daten in den vorher leeren Ordner gespeichert werden.
Also
es fehlt sicher noch das ELSE. Ich wüsste nich, was Windows selbsständig dazu animeren sollte, die Ordnersymbole wieder auf alten Stand zu bringen, wenn da Daten in den vorher leeren Ordner gespeichert werden.
Also
IF <Bedingung> (
mache irgendwas
und noch etwas
) ELSE (
mache was anderes
und noch was anderes
)
Hallo,
https://learn.microsoft.com/de-de/windows/win32/shell/how-to-customize-f ...
https://learn.microsoft.com/de-de/windows/win32/shell/how-to-implement-c ...
Und du solltest deine geänderte(n) desktop.ini gut weglegen, denn dein OS kann diese auch ganz schnell erneuern bzw. ersetzen.
https://superuser.com/questions/882442/self-created-desktop-ini-does-not ...
Gruss,
Peter
Zitat von @Max2309:
Die Erstellung der Destop.ini mithilfe einer Batchdatei klappt wunderbar. Die Änderung des Ordner-Icons auch. Allerdings nur, wenn ich den Pfad des Ordners genau erfasse. Anhand der Prüfung, ob der Ordner leer ist, klappts nicht.
Zeigt doch mal deinen genauen Code bzw. die desktop.ini. Rechte passen?Die Erstellung der Destop.ini mithilfe einer Batchdatei klappt wunderbar. Die Änderung des Ordner-Icons auch. Allerdings nur, wenn ich den Pfad des Ordners genau erfasse. Anhand der Prüfung, ob der Ordner leer ist, klappts nicht.
Ja das mit dem ELSE ist eigentlich logisch ....
Nicht zwingend, muss auch ohne else funktionieren. Und da dein Ordner nur Leer oder nicht Leer sein kann, gibt es kein Drittes Ergebniss was eine Else benötigt oder rechtfertigt.Eine Frage ist noch aufgetaucht. Kann die Batchdatei automatisch gestartet werden. zB beim Öffnen des Explorers?
Die frage ist doch eher wann wird die desktop.ini abgearbeitet bzw. gelesen? Soweit ich weiss beim starten des Explorers in einen Ordner mit einer desktop.ini, beim wechseln von einen Ordner zu amderen und es ist eine desktop.ini vorhanden, und sonst nach einer gewissen Zeit wenn kein wechsel des Ordners erfolgt. Welche Zeit ist wohl ein Betriebsgeheimniss von MS. Ob ein Cache genutzt wird ist ebenso ein MS Geheimniss. Auch konnte ich nirgends einen hinweiss darauf finden das eine desktop.ini eine Batchdatei enthalten kann oder das diese abgearbeitet wird. Nur weil man das in einer textdatei (desktop.ini) eintragen kann bedeutet es nicht das es auch vom OS angewendet wird. Werkzeuge wie Process Monitor und Process Explorer sind deine Freunde. Ansonsten sind evtl Geplante Aufgaben (Task planer) deine freunde.https://learn.microsoft.com/de-de/windows/win32/shell/how-to-customize-f ...
https://learn.microsoft.com/de-de/windows/win32/shell/how-to-implement-c ...
Und du solltest deine geänderte(n) desktop.ini gut weglegen, denn dein OS kann diese auch ganz schnell erneuern bzw. ersetzen.
https://superuser.com/questions/882442/self-created-desktop-ini-does-not ...
Gruss,
Peter