shspider
Goto Top

Symbol für Windowsordner auf Windowsfreigaben ändern

Habe folgendes Problem:

Die Symbole für Windowsordner lassen sich sowohl lokal auf einem PC ändern, als auch direkt auf einem Server.
c1a2a917b7371072946d7f6c7696c030

Leider ist dies auf Windowsfreigaben nicht möglich, da der Bereich Ordnersymbole (unter Ordnereigenschaften)
dann ausgeblendet ist.
2e3050532607091a1e2287fb206c752c

Gibt es einen Trick, diesen Bereich z.B. über die Registry einzublenden? Bin für jeden Tip dankbar.

Content-Key: 141226

Url: https://administrator.de/contentid/141226

Printed on: April 25, 2024 at 00:04 o'clock

Mitglied: 77559
77559 Apr 22, 2010 at 09:57:39 (UTC)
Goto Top
Hallo,

ich schlage vor du suchst mit der Suchmaschine deiner Wahl mal nach "Desktop.ini bearbeiten"

Gruß
LotPings
Member: SHSpider
SHSpider Apr 26, 2010 at 14:43:15 (UTC)
Goto Top
Hallo LotPings,

vielen Dank für den Tip.

Wichtig ist dabei, daß das Dateiattribut auf System geändert wird (attrib +s Verzeichnisname), sonst werden die Symbolveränderungen
durch die Desktop.ini nicht angezeigt.

Beispiel einer Desktop.ini: -> nehme das Icon mit dem IconIndex 109 aus der Datei SHELL32.DLL
[.ShellClassInfo]
IconFile=%SystemRoot%\system32\SHELL32.dll
IconIndex=109

Komfortabler wäre es natürlich, wenn man das Ordnersysbol auch über den Eigenschaftsdialog (siehe oben)
verändert könnte,

Also wer noch eine komfortable Lösungs hat, kann sich gerne noch melden.

Viele Grüße
SHSpider
Mitglied: 77559
77559 Apr 26, 2010 at 15:10:57 (UTC)
Goto Top
Zitat von @SHSpider:
Komfortabler wäre es natürlich, wenn man das Ordnersysbol auch über den Eigenschaftsdialog (siehe oben) verändert könnte,
Also wer noch eine komfortable Lösungs hat, kann sich gerne noch melden.

IMO ist das Spielerei, wenn Anwender das problemlos ständig ändern könnten, würden sie es auch tun.
Sind wir hier nicht im Administrator Forum?

Ein Script/Batch zusammen zuschrauben, welches die Attribute ändert und ggfs. fürs Icon eine Datei auswählt, sind wir doch alle in der Lage.
Aber den Aufwand treiben wir doch nicht für eine einmalige Sache.
Und wer es häufiger braucht, sollte sich überlegen ob er wirklich hierher gehört.

Gruß
LotPings
Member: Stripe
Stripe Jun 29, 2010 at 11:15:32 (UTC)
Goto Top
Hi All,

habe dasselbe Problem. Es sind mehrere Ordner vorhanden ca. 100 und es sollte auf einen Blick 3 verschiedene Zustände der Ordner (neu, bearbeitet,erledigt) erkannt werden. Das ganze sollte von relativ unerfahrenen Benutzern gehandelt werden können.

Any Ideas??

Schon mal vorab ein Dankeschön.
Gruß
Tom
Mitglied: 77559
77559 Jun 29, 2010 at 17:16:44 (UTC)
Goto Top
Hallo Tom,

es gibt von der PC-Welt ein über die Ordnereigenschaften aufrufbares VBScript welches das Editieren der Desktop.ini erleichtert. Das installiert sich selber (ungünstigerweise -> Rechte) im Windows Verzeichnis und im entsprechenden Registry-Key.
Für den Einsatz im Netzwerk solltest du bei diesem angepassten Script für "Windir" einen anderen, von allen PCs errecihbaren Ort wählen.

Aus Zeitmangel belasse ich es hier auch beim manuellen Editieren der Datei - das liesse sch durchaus auch weiter automatisieren.

Das die User, die den Status ändern sollen, zumindest auf dem entsprechenden Ordnern Schreibrechte brauchen, versteht sich von selber.
Unter Vista/Win7 sind zur Installation Adminrechte nötig.
Das Update der Symbole klappte hier bei mir unter Win7Ult64 nicht sofort, unter Xp dagegen kein Problem.
Als Symbole schlage ich aus der Shell32.dll vor neu=4 erledigt=110 bearbeitet=205

' Ordnerstatus - Symbol von Ordnern mittels Desktop.Ini ändern  
' Ideengeber für dieses Script ist   
' <http://www.pcwelt.de/start/software_os/tipps_tricks/windows/22238/ordner_tuning_desktopini_bequem_anpassen/>  
Option explicit
Dim oWSH   : set oWSH = CreateObject("Wscript.Shell")  
Dim oFS    : set oFS = CreateObject("Scripting.FileSystemObject")  
Dim windir : windir = oWSH.ExpandEnvironmentStrings("%WINDIR%")  

' Keine Parameter? Dann (de-) installiert sich das Script selbst  
Dim oFile : Set oFile = oFS.GetFile(Wscript.ScriptFullName)
Dim Key : Key = "HKCR\directory\shell\OrdnerStatus\"  
If Wscript.Arguments.Count = 0 Then
  oFS.CopyFile oFile, windir & "\"  
  If Not KeyExists( Key ) Then
    oWSH.RegWrite Key , "Or&dnerstatus"  
    oWSH.RegWrite Key & "Command\", "wscript.exe " & Windir & "\" & oFile.Name & " " &Chr(34) & "%1" & Chr(34) & ""  
    MsgBox "Die erweiterten Ordnereinstellungen wurden erfolgreich installiert. " & _  
           "Im Kontextmenü zu jedem Ordner können Sie jetzt mit dem neuen Menüpunkt " & Chr(34) & _  
           "Ordnerstatus" & Chr(34) & " die Desktop.ini eines beliebigen Ordners editieren", 64, _  
           "OrdnerStatus Tweak installiert"  
  Else
    oWSH.RegDelete( Key & "Command\")  
    oWSH.RegDelete( Key )
    MsgBox "Die erweiterten Ordnereinstellungen wurden erfolgreich deinstalliert", 64, _  
            "OrdnerStatus Tweak entfernen"  
  End If
  wscript.quit
End if

Dim Eingabe : Eingabe = wscript.arguments(0)
Dim DesktopINI

If Not oFS.FileExists(Eingabe & "\desktop.ini") Then  
Set DesktopINI = oFS.CreateTextFile(Eingabe & "\desktop.ini", False)  
  With DesktopIni
    .WriteLine "[.ShellClassInfo]"  
    .WriteLine "InfoTip=Ordnerstatus ändern neu/bearbeitet/erledigt"  
    .WriteLine "IconFile=%SystemRoot%\system32\SHELL32.dll"  
    .WriteLine "; von den folgenden Zeilen IconIndex= "  
    .WriteLine "; darf nur eine *aktiv* ohne führendes Semikolon sein."  
    .WriteLine ";Symbol leerer Ordner für neu"  
    .WriteLine "IconIndex=4"  
    .WriteLine ";Symbol Ordner mit Stern für bearbeitet"  
    .WriteLine ";IconIndex=205"  
    .WriteLine ";Symbol Ordner mit Haken für erledigt"  
    .WriteLine ";IconIndex=110"  
    .WriteLine "ConfirmFileOp=0"  
    .Close
  End With
End If

' System Atrribut setzen ------------------------------------------------------  
Dim Handle : set Handle = oFS.GetFolder(Eingabe)
With Handle
  If Not (.attributes AND 4) Then .attributes = .attributes + 4
End With

' Notepad starten, um DESKTOP.INI zu bearbeiten -------------------------------  
oWSH.Run windir & "\notepad.exe " & Eingabe & "\desktop.ini"  

' Diese Funktion überprüft die Registry nach vorhandenen Schlüsseln. ----------  
Function KeyExists(key)
  on error resume next
  Dim Wert : Wert = oWSH.RegRead(key)
  KeyExists = false : if err.Number=0 then KeyExists = true
  err.clear
  on error goto 0
end function

Gruß
LotPings