bat und cmd - Ich weiss, wie es geht


javaDeveloper2011

Erfahrenes Mitglied
Dateityp Icon zuweisen

Hallo Shinigami-sama,

ich möchte gerne ein Batch-Script schreiben, dass .ico-Dateien für bestimmte Dateitypen als Icon im Windows-Explorer setzt.

Es muss Batch sein, soll aber ein Ergebnis wie das Programm Types liefern.

Ich hab schon viel gegoogelt und herausgefunden dass es wohl irgendwie mit .reg-Dateien die die entsprechenden Registry-Einträge enthalten funktioniert.

Wie heißt jetzt aber der passende Eintrag?
(Grundsätzlich würden mich auch die Einträge für...
...bei Doppelklick auf Datei zu startendes Programm
...Beschreibung des Dateityps (also z.B. Textdatei statt TXT-Datei)
interessieren.

Falls irgendwie möglich sollen keine Administrator-Rechte erforderlich sein.

Freue mich auf deine Antwort,
javaDeveloper2011
 

deepthroat

Erfahrenes Mitglied
Hi.
Hallo Shinigami-sama,

ich möchte gerne ein Batch-Script schreiben, dass .ico-Dateien für bestimmte Dateitypen als Icon im Windows-Explorer setzt.
Warum erstellst du nicht ein eigenes Thema dafür und kaperst hier den Thread?
Ich hab schon viel gegoogelt und herausgefunden dass es wohl irgendwie mit .reg-Dateien die die entsprechenden Registry-Einträge enthalten funktioniert.

Wie heißt jetzt aber der passende Eintrag?
(Grundsätzlich würden mich auch die Einträge für...
...bei Doppelklick auf Datei zu startendes Programm
...Beschreibung des Dateityps (also z.B. Textdatei statt TXT-Datei)
interessieren.
Schau mal im RegistryEditor unterhalb von HKLM\Software\Classes bzw. HKCU\Software\Classes nach dem Standardwert des Schlüssels ".ext" (wobei ext die Dateiendung der Dateien ist die du anpassen willst).

Dann schaust du unterhalb von HKLM\Software\Classes\<name> bzw. HKCU\Software\Classes\<name> (je nachdem was in .ext drin stand) nach dem Standardwert (das ist die Beschreibung des Dateityps), DefaultIcon legt das Standardicon fest und shell\open\command legt die Aktion für das Öffnen der Datei fest.

Beispiel:

Befehl:
Code:
reg query hklm\software\classes\.ppk /ve
Ausgabe:
Code:
HKEY_LOCAL_MACHINE\software\classes\.ppk
    (Default)    REG_SZ    PuTTYPrivateKey
Für .ppk Dateien lautet der passende Unterschlüssel also PuTTYPrivateKey

Befehl:
Code:
reg query hklm\software\classes\PuTTYPrivateKey /s
Ausgabe:
Code:
HKEY_LOCAL_MACHINE\software\classes\PuTTYPrivateKey
    (Default)    REG_SZ    PuTTY Private Key File

HKEY_LOCAL_MACHINE\software\classes\PuTTYPrivateKey\DefaultIcon
    (Default)    REG_SZ    C:\Program Files (x86)\PuTTY\pageant.exe,0

HKEY_LOCAL_MACHINE\software\classes\PuTTYPrivateKey\shell

HKEY_LOCAL_MACHINE\software\classes\PuTTYPrivateKey\shell\open

HKEY_LOCAL_MACHINE\software\classes\PuTTYPrivateKey\shell\open\command
    (Default)    REG_SZ    "C:\Program Files (x86)\PuTTY\pageant.exe" "%1"
Siehe "reg /?".

Exportiere einfach aus dem Registry Editor einen der Unterschlüssel von HKLM\Software\Classes bzw. HKCU\... und schau dir die .reg Datei an.

Gruß
 

javaDeveloper2011

Erfahrenes Mitglied
Hallo deepthroat,

Warum erstellst du nicht ein eigenes Thema dafür und kaperst hier den Thread?
Wie ich das versanden habe, ist dieser Thread dazu gedacht fragen zu Batch zu stellen.

Ich wollte mit dieser Zeile:
Code:
reg add hklm\software\classes\txtfile /v DefaultIcon /t REG_SZ /d C:\Users\Nik\Desktop\Medien\Images\ICO\Brush_win7.ico /f
Eine .ico-Datei als Standart-Icon für TXT-Dateien setzen.

Eine Fehlermeldung erscheint nicht und in der Exportierten .reg-Datei ist mein Pfad auch als DefaulIcon erwähnt.

Aber selbst nach einen Neustart ist das Icon im Windows-Explorer noch das alte!

Was mache ich falsch?

javaDeveloper2011
 

deepthroat

Erfahrenes Mitglied
Wie ich das versanden habe, ist dieser Thread dazu gedacht fragen zu Batch zu stellen.
Du hast keine Batch Frage gestellt. Bei dir geht es vordergründig um die Registry und den Explorer. Ich kann jedenfalls nichts Batch spezifisches an deiner Frage erkennen.

Und glaubst du wirklich es ist eine gute Idee alle Fragen in einen einzelnen Thread zu kloppen? ;-] Wozu gibt es eigentlich die Foren? Vielleicht reicht da auch ein Mega-Thread? ;)

Evtl. könnte ein Mod das Thema hier mal auftrennen?! Danke.
Ich wollte mit dieser Zeile:
Code:
reg add hklm\software\classes\txtfile /v DefaultIcon /t REG_SZ /d C:\Users\Nik\Desktop\Medien\Images\ICO\Brush_win7.ico /f
Eine .ico-Datei als Standart-Icon für TXT-Dateien setzen.

Eine Fehlermeldung erscheint nicht
Wie ist der %errorlevel%?
Aber selbst nach einen Neustart ist das Icon im Windows-Explorer noch das alte!

Was mache ich falsch?
Du hast einen Wert namens "DefaultIcon" zum txtfile Schlüssel hinzugefügt. Du mußt stattdessen den Standardwert des "txtfile\DefaultIcon" Schlüssels setzen.

Du mußt danach den Explorer neu starten da die Icons gecached werden (oder neu booten).

Gruß
 
Zuletzt bearbeitet:

javaDeveloper2011

Erfahrenes Mitglied
Hi,

sorry, dass ich mich so blöd anstelle aber ich kriege es einfach nicht hin.
Wie lautet denn nun der exakte komplette Befehl?

javaDeveloper2011
 

poljew

Grünschnabel
Hallo Shinigami-sama,
ich bin neu hier, darum entschuldige ich mich direkt, wenn ich meine Frage an der falschen Stelle stelle.
Ich versuche gerade eine Batch Datei zu erstellen, die aus einem Ordner in einen anderen eine Datei kopiert:

echo %jahr%-%monat%-%tag%

copy \\srv55\Test\Daten\%jahr%-%monat%-%tag%\Test1--123654\Result.txt C:\Temp\Result.xml

Wenn ich es so schreibe wie oben, geht alles, allerdings wird der Ordner Test1 immer neu erstell, das heisst, ich weiss das der Ordner Test1 heisst, der Rest ist variabel.
Z.B. Es gibt dann mehrere Ordner die so heißen können:
Test1--123654
Test1--567890
Test1--187689 u.s.w
Wie kann ich das Problem umgehen?

Vielen Dank
 
Zuletzt bearbeitet: