DOpus soll desktop.ini verwenden

Aktuelle Version: 12.6 (09.06.2017)
Alles zum Thema Directory Opus
Benutzeravatar
SigmaTau
Beiträge: 60
Registriert: 3. Mai 2008 23:13
Betriebssystem: Win 7 Ultimate 64bit
Produkt: DOpus 9.last | 10.last/BETA
Wohnort: Cassel

Re: DOpus soll desktop.ini verwenden

Beitrag von SigmaTau » 15. Sep 2011 11:08

das hier funktioniert für mich

rechte maus auf eine bilddatei=

bild wird copiert und größe in 256*256 geändert

und infotip wird auch abgefragt :-) das war eine sehr gute idee +++ da hätte ich auch drauf kommen können

ich habe diesen schalter bei Dateitypen | Dateityp-Gruppen | Bilder eingefügt

als funktion habe ich MS-DOS Batch genommen

Code: Alles auswählen

@runmode hide

attrib +R {filepath|..|noterm}

:start
if not exist "{filepath|..}desktop.ini" goto start2
if exist "{filepath|..}desktop.ini" goto rendesk

:rendesk
attrib -H -S "{filepath|..}desktop.ini"
REN {filepath|..}desktop.ini {filepath|..}desktop.ini.bak
goto start2

:start2
if exist "{filepath|..}folder.bmp" goto attico
if not exist "{filepath|..}folder.bmp" goto conv

:attico
attrib +H +S -A {filepath|..}folder.bmp
goto start3

:conv
Image CONVERT=bmp HEIGHT=256 WIDTH=256 HERE AS folder.bmp
attrib +H +S -A {filepath|..}folder.bmp
goto start3

:start3
echo [.ShellClassInfo] > {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
echo IconResource=folder.bmp,0  >> {filepath|..}desktop.ini
echo InfoTip={dlgstringS|Enter InfoTip:|}  >> {filepath|..}desktop.ini
echo IconFile=folder.bmp  >> {filepath|..}desktop.ini
echo IconIndex=0  >> {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
attrib +H +S -A {filepath|..}desktop.ini 

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: DOpus soll desktop.ini verwenden

Beitrag von Kundal » 16. Sep 2011 09:51

Hmm... Ich habe mit deinem Schalter wieder das kleine Problem daß der Rename-Befehl nicht funktioniert. Weiß auch nicht warum. Ich verwende jetzt dopusrt.exe. Das hat mit dem Zusatz AUTORENAME auch den Vorteil, daß bei vorhandener Backupdatei diese nicht ersetzt sondern das neue Backup nummeriert umbenannt wird.

Bei deinem Button stört mich, daß bei vorhandener folder.bmp die neue von mir markierte Datei nicht verwendet wird. Das möchte ich gerade in meinen Foto-Ordnern anders haben. Ich habe in meinem folgenden Schalter diese Datei also ebenfalls als Backup (unter Erhaltung der Dateiendung) umbenannt damit die markierte Datei verwendet wird. Ausserdem habe ich eine Version erstellt die kein Backup macht, weil ich das in meinen Foto-Ordnern nicht brauche.
Weil mir die Idee gefällt Icon und Thumbnail aus derselben Bilddatei zu erstellen habe ich die entsprechenden Zeilen hinzugefügt und die Konvertierung auf eine Bildgröße von 512x512 geändert weil das für das Thumbnail optimal ist.
Hier das Ergebnis:

Erstellt desktop.ini und folder.bmp (512x512) aus markierter Bilddatei zur Verwendung als Icon und Thumbnail für den aktuellen Ordner (Schaltertyp MS-DOS Batch-Funktion).

Mit Backup:

Code: Alles auswählen

@runmode hide
attrib +R {filepath|..|noterm}
:start
if not exist "{filepath|..}desktop.ini" goto start2
if exist "{filepath|..}desktop.ini" goto rendesk
:rendesk
attrib -H -S "{filepath|..}desktop.ini"
dopusrt /cmd RENAME AUTORENAME {filepath|..}desktop.ini TO {filepath|..}desktop.ini.bak
goto start2
:start2
if exist "{filepath|..}folder.bmp" goto attico
if not exist "{filepath|..}folder.bmp" goto conv
:attico
attrib -H -S "{filepath|..}folder.bmp"
dopusrt /cmd RENAME AUTORENAME {filepath|..}folder.bmp TO {filepath|..}folder_bak.bmp
goto conv
:conv
dopusrt /cmd Image CONVERT=bmp HEIGHT=512 WIDTH=512 HERE AS "folder.bmp"
attrib +H +S -A {filepath|..}folder.bmp
goto start3
:start3
echo [.ShellClassInfo] > {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
echo IconResource=folder.bmp,0  >> {filepath|..}desktop.ini
echo InfoTip={dlgstringS|Enter InfoTip:|}  >> {filepath|..}desktop.ini
echo IconFile=folder.bmp  >> {filepath|..}desktop.ini
echo IconIndex=0  >> {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
echo [ViewState] >> {filepath|..}desktop.ini
echo FolderType=Generic  >> {filepath|..}desktop.ini
echo Logo={filepath|..}folder.bmp  >> {filepath|..}desktop.ini
attrib +H +S -A {filepath|..}desktop.ini 

Ohne Backup:

Code: Alles auswählen

@runmode hide
attrib +R {filepath|..|noterm}
:start
if not exist "{filepath|..}desktop.ini" goto start2
if exist "{filepath|..}desktop.ini" goto deldesk
:deldesk
del "{filepath|..}desktop.ini" /A H
goto start2
:start2
if exist "{filepath|..}folder.bmp" goto delico
if not exist "{filepath|..}folder.bmp" goto conv
:delico
del "{filepath|..}folder.bmp" /A H
goto conv
:conv
dopusrt /cmd Image CONVERT=bmp HEIGHT=512 WIDTH=512 HERE AS "folder.bmp"
attrib +H +S -A {filepath|..}folder.bmp
goto start3
:start3
echo [.ShellClassInfo] > {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
echo IconResource=folder.bmp,0  >> {filepath|..}desktop.ini
echo InfoTip={dlgstringS|Enter InfoTip:|}  >> {filepath|..}desktop.ini
echo IconFile=folder.bmp  >> {filepath|..}desktop.ini
echo IconIndex=0  >> {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
echo [ViewState] >> {filepath|..}desktop.ini
echo FolderType=Generic  >> {filepath|..}desktop.ini
echo Logo={filepath|..}folder.bmp  >> {filepath|..}desktop.ini
attrib +H +S -A {filepath|..}desktop.ini 
Fertiger 2-Wege-Schalter (LMB Mit Backup / RMB ohne Backup):

Code: Alles auswählen

<?xml version="1.0"?>
<button backcol="none" display="icon" textcol="none" type="three_button">
	<label>Icon und Thumbnail erstellen</label>
	<icon1>#folder_images</icon1>
	<button backcol="none" display="both" textcol="none">
		<label>Mit Backup</label>
		<tip>Erstellt Icon und Thumbnail für den aktuellen Ordner aus der markierten Bilddatei mit Backup</tip>
		<icon1>#folder_images</icon1>
		<function type="batch">
			<instruction>@runmode hide</instruction>
			<instruction>attrib +R {filepath|..|noterm}</instruction>
			<instruction>:start</instruction>
			<instruction>if not exist "{filepath|..}desktop.ini" goto start2</instruction>
			<instruction>if exist "{filepath|..}desktop.ini" goto rendesk</instruction>
			<instruction>:rendesk</instruction>
			<instruction>attrib -H -S "{filepath|..}desktop.ini"</instruction>
			<instruction>dopusrt /cmd RENAME AUTORENAME {filepath|..}desktop.ini TO {filepath|..}desktop.ini.bak</instruction>
			<instruction>goto start2</instruction>
			<instruction>:start2</instruction>
			<instruction>if exist "{filepath|..}folder.bmp" goto attico</instruction>
			<instruction>if not exist "{filepath|..}folder.bmp" goto conv</instruction>
			<instruction>:attico</instruction>
			<instruction>attrib -H -S "{filepath|..}folder.bmp"</instruction>
			<instruction>dopusrt /cmd RENAME AUTORENAME {filepath|..}folder.bmp TO {filepath|..}folder_bak.bmp</instruction>
			<instruction>goto conv</instruction>
			<instruction>:conv</instruction>
			<instruction>dopusrt /cmd Image CONVERT=bmp HEIGHT=512 WIDTH=512 HERE AS "folder.bmp"</instruction>
			<instruction>attrib +H +S -A {filepath|..}folder.bmp</instruction>
			<instruction>goto start3</instruction>
			<instruction>:start3</instruction>
			<instruction>echo [.ShellClassInfo] > {filepath|..}desktop.ini</instruction>
			<instruction>echo ConfirmFileOp=0  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo IconResource=folder.bmp,0  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo InfoTip={dlgstringS|Enter InfoTip:|}  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo IconFile=folder.bmp  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo IconIndex=0  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo ConfirmFileOp=0  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo [ViewState] >> {filepath|..}desktop.ini</instruction>
			<instruction>echo FolderType=Generic  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo Logo={filepath|..}folder.bmp  >> {filepath|..}desktop.ini</instruction>
			<instruction>attrib +H +S -A {filepath|..}desktop.ini </instruction>
		</function>
	</button>
	<button backcol="none" display="both" textcol="none">
		<label>Ohne Backup</label>
		<tip>Erstellt Icon und Thumbnail für den aktuellen Ordner aus der markierten Bilddatei ohne Backup</tip>
		<icon1>#folder_images</icon1>
		<function type="batch">
			<instruction>@runmode hide</instruction>
			<instruction>attrib +R {filepath|..|noterm}</instruction>
			<instruction>:start</instruction>
			<instruction>if not exist "{filepath|..}desktop.ini" goto start2</instruction>
			<instruction>if exist "{filepath|..}desktop.ini" goto deldesk</instruction>
			<instruction>:deldesk</instruction>
			<instruction>del "{filepath|..}desktop.ini" /A H</instruction>
			<instruction>goto start2</instruction>
			<instruction>:start2</instruction>
			<instruction>if exist "{filepath|..}folder.bmp" goto delico</instruction>
			<instruction>if not exist "{filepath|..}folder.bmp" goto conv</instruction>
			<instruction>:delico</instruction>
			<instruction>del "{filepath|..}folder.bmp" /A H</instruction>
			<instruction>goto conv</instruction>
			<instruction>:conv</instruction>
			<instruction>dopusrt /cmd Image CONVERT=bmp HEIGHT=512 WIDTH=512 HERE AS "folder.bmp"</instruction>
			<instruction>attrib +H +S -A {filepath|..}folder.bmp</instruction>
			<instruction>goto start3</instruction>
			<instruction>:start3</instruction>
			<instruction>echo [.ShellClassInfo] > {filepath|..}desktop.ini</instruction>
			<instruction>echo ConfirmFileOp=0  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo IconResource=folder.bmp,0  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo InfoTip={dlgstringS|Enter InfoTip:|}  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo IconFile=folder.bmp  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo IconIndex=0  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo ConfirmFileOp=0  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo [ViewState] >> {filepath|..}desktop.ini</instruction>
			<instruction>echo FolderType=Generic  >> {filepath|..}desktop.ini</instruction>
			<instruction>echo Logo={filepath|..}folder.bmp  >> {filepath|..}desktop.ini</instruction>
			<instruction>attrib +H +S -A {filepath|..}desktop.ini </instruction>
		</function>
	</button>
</button>

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: DOpus soll desktop.ini verwenden

Beitrag von Kundal » 16. Sep 2011 10:21

Eine kleine Ergänzung zu den hier vorgestellten Schaltern:
Damit die unter "Infotip" eingetragene Information beim Zeigen mit der Maus auf den Ordner auch angezeigt wird muss der Eintrag {infotip} für den Dateityp "Alle Ordner" auch entsprechend eingetragen sein. Dort kann man mit dem Eintrag {thumbnail} auch die Miniaturansicht im Tooltip anzeigen lassen.
Das Erstellen dieser Einträge geschieht unter Einstellungen=>Dateitypen...=>Alle Ordner=>Reiter Infotipp. Dort den Button Feld einfügen drücken, Shell-Info Tipp (bzw. Bildminiatur) wählen und im Textfeld sinnvoll positionieren.
screenshot.18.png

Benutzeravatar
SigmaTau
Beiträge: 60
Registriert: 3. Mai 2008 23:13
Betriebssystem: Win 7 Ultimate 64bit
Produkt: DOpus 9.last | 10.last/BETA
Wohnort: Cassel

Re: DOpus soll desktop.ini verwenden

Beitrag von SigmaTau » 17. Sep 2011 12:51

TOP

Benutzeravatar
SigmaTau
Beiträge: 60
Registriert: 3. Mai 2008 23:13
Betriebssystem: Win 7 Ultimate 64bit
Produkt: DOpus 9.last | 10.last/BETA
Wohnort: Cassel

Re: DOpus soll desktop.ini verwenden

Beitrag von SigmaTau » 19. Sep 2011 13:58

ich habe meinen Schalter noch etwas geändert damit die Bilder nicht verzerrt werden und damit noch eine folder.jpg angelegt wird
die folder.jpg wird in der Miniaturansicht verwendet


leider habe ich noch einige Probleme beim setzen der Attribute weiß aber nicht warum manchmal wird das +H und das -A vergessen

ohne backup

Code: Alles auswählen

@runmode hide
attrib +R {filepath|..|noterm}

:start
if not exist "{filepath|..}desktop.ini" goto start2
if exist "{filepath|..}desktop.ini" goto deldesk

:deldesk
del "{filepath|..}desktop.ini" /A H
goto start2

:start2
if exist "{filepath|..}folder.bmp" goto delico
if not exist "{filepath|..}folder.bmp" goto conv

:delico
del "{filepath|..}folder.bmp" /A H
goto conv

:conv
dopusrt /cmd Image CONVERT=bmp HEIGHT=512 WIDTH=512 PRESERVEASPECTRATIO HERE AS "folder.bmp"
goto start3

:start3
f exist "{filepath|..}folder.jpg" goto delfjpg
if not exist "{filepath|..}folder.jpg" goto convjpg

:delfjpg
del "{filepath|..}folder.jpg" /A H
goto convjpg

:convjpg
dopusrt /cmd Image CONVERT=jpg HEIGHT=512 WIDTH=512 PRESERVEASPECTRATIO HERE AS "folder.jpg"
goto start4

:start4
echo [.ShellClassInfo] > {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
echo IconResource=folder.bmp,0  >> {filepath|..}desktop.ini
echo InfoTip={dlgstringS|Enter InfoTip:|}  >> {filepath|..}desktop.ini
echo IconFile=folder.bmp  >> {filepath|..}desktop.ini
echo IconIndex=0  >> {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
goto attrib

:attrib
attrib +H +S -A {filepath|..}desktop.ini
attrib +H +S -A {filepath|..}folder.bmp
attrib +H +S -A {filepath|..}folder.jpg

mit backup

Code: Alles auswählen

@runmode hide
attrib +R {filepath|..|noterm}

:start
if not exist "{filepath|..}desktop.ini" goto start2
if exist "{filepath|..}desktop.ini" goto rendesk

:rendesk
ttrib -H -S "{filepath|..}desktop.ini"
dopusrt /cmd RENAME AUTORENAME {filepath|..}desktop.ini TO {filepath|..}desktop.ini.bak
goto start2

:start2
if exist "{filepath|..}folder.bmp" goto renico
if not exist "{filepath|..}folder.bmp" goto conv

:renico
attrib -H -S "{filepath|..}folder.bmp"
dopusrt /cmd RENAME AUTORENAME {filepath|..}folder.bmp TO {filepath|..}folder_bak.bmp
goto conv

:conv
dopusrt /cmd Image CONVERT=bmp HEIGHT=512 WIDTH=512 PRESERVEASPECTRATIO HERE AS "folder.bmp"
goto start3

:start3
f exist "{filepath|..}folder.jpg" goto renfjpg
if not exist "{filepath|..}folder.jpg" goto convjpg

:renfjpg
attrib -H -S "{filepath|..}folder.jpg"
dopusrt /cmd RENAME AUTORENAME {filepath|..}folder.jpg TO {filepath|..}folder_bak.jpg
goto convjpg

:convjpg
dopusrt /cmd Image CONVERT=jpg HEIGHT=512 WIDTH=512 PRESERVEASPECTRATIO HERE AS "folder.jpg"
goto start4

:start4
echo [.ShellClassInfo] > {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
echo IconResource=folder.bmp,0  >> {filepath|..}desktop.ini
echo InfoTip={dlgstringS|Enter InfoTip:|}  >> {filepath|..}desktop.ini
echo IconFile=folder.bmp  >> {filepath|..}desktop.ini
echo IconIndex=0  >> {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
echo [ViewState] >> {filepath|..}desktop.ini
echo FolderType=Generic  >> {filepath|..}desktop.ini
echo Logo=folder.jpg  >> {filepath|..}desktop.ini
goto attrib

:attrib
attrib +H +S -A {filepath|..}desktop.ini
attrib +H +S -A {filepath|..}folder.bmp
attrib +H +S -A {filepath|..}folder.jpg

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: DOpus soll desktop.ini verwenden

Beitrag von Kundal » 19. Sep 2011 18:14

Ich verstehe nicht ganz, warum du auch noch ein folder.jpg erzeugst wenn du das Gleiche doch schon mit dem folder.bmp erreichst?
Das Problem mit den gelegentlich nicht gesetzten Attributen habe ich auch schon gesehen. Ändere mal den letzten Teil deines Schalters auf das Folgende, dann sollte es zuverlässig funktionieren. Vielleicht war das auch der Grund für mein Rename-Problem (nicht getestet). Ich habe das deshalb in meinen Code überall da eingebaut wo es nötig sein könnte:

Code: Alles auswählen

:attrib
Select {filepath|..}desktop.ini
attrib +H +S -A {filepath|..}desktop.ini
Select {filepath|..}folder.bmp
attrib +H +S -A {filepath|..}folder.bmp
Select {filepath|..}folder.jpg
attrib +H +S -A {filepath|..}folder.jpg
Das PRESERVEASPECTRATIO ist natürlich eine gute Idee, weil manche Bilder schon sehr seltsam aussehen wenn sie verzerrt werden. Schade finde ich, daß dabei das Hintergrund-Ordnersymbol nicht mehr komplett mit dem Thumbnail ausgefüllt wird. Die Lösung dafür wäre das Beschneiden des Bildes. Da DOpus Bilder nicht beschneiden kann habe ich mir einen Schalter gebaut der nconvert.exe dazu benutzt. NConvert ist Bestandteil von XNView, kann aber hier auch separat heruntergeladen werden:
http://download.xnview.com/NConvert-win.zip

Bei diesem Schalter poppt eine zweite Dialogbox auf, die abfragt wieviel Pixel von der linken bzw. oberen Seite abgeschnitten werden sollen. Da meine Kamera Bilder mit 4000x3000 erzeugt, die nach dem Konvertieren mit DOpus ein folder.bmp mit 682x512 ergeben, habe ich als Vorgabe einen Wert von 85 eingegeben um von beiden Seiten gleichviel abzuschneiden. Durch vergrößern oder Verkleinern dieses Wertes per Daumenpeilung kann man sehr gut die wichtigen Teile des Bildes erhalten und fokussieren.
Die Version mit Backup habe ich weggelassen und stattdessen 2 Varianten für das Beschneiden von Breite oder Höhe erstellt.

Erstellt desktop.ini und folder.bmp (beschnitten auf 512x512 mit NConvert) zur Verwendung als Icon und Thumbnail des aktuellen Ordners:
Der Pfad zu nconvert.exe (vorletzte Zeile) muss ggfs.im Schaltercode angepasst werden.

Breite beschneiden:

Code: Alles auswählen

@runmode hide
attrib +R {filepath|..|noterm}
:start
if not exist "{filepath|..}desktop.ini" goto start2
if exist "{filepath|..}desktop.ini" goto deldesk
:deldesk
Select {filepath|..}desktop.ini
del "{filepath|..}desktop.ini" /A H
goto start2
:start2
if exist "{filepath|..}folder.bmp" goto delico
if not exist "{filepath|..}folder.bmp" goto conv
:delico
Select {filepath|..}folder.bmp
del "{filepath|..}folder.bmp" /A H
goto conv
:conv
dopusrt /cmd Image CONVERT=bmp HEIGHT=512 PRESERVEASPECTRATIO HERE AS "folder.bmp"
goto start3
:start3
echo [.ShellClassInfo] > {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
echo IconResource=folder.bmp,0  >> {filepath|..}desktop.ini
echo InfoTip={dlgstringS|Enter InfoTip:|}  >> {filepath|..}desktop.ini
echo IconFile=folder.bmp  >> {filepath|..}desktop.ini
echo IconIndex=0  >> {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
echo [ViewState] >> {filepath|..}desktop.ini
echo FolderType=Generic  >> {filepath|..}desktop.ini
echo Logo={filepath|..}folder.bmp  >> {filepath|..}desktop.ini
goto start4
:start4
Select {filepath|..}desktop.ini
attrib +H +S -A {filepath|..}desktop.ini
Select {filepath|..}folder.bmp
"C:\Program Files (x86)\XnView\nconvert.exe" -quiet -overwrite -crop {dlgstring|Anzahl Pixel von links abschneiden:|85} 0 512 512 {filepath|..}folder.bmp
attrib +H +S -A {filepath|..}folder.bmp
Höhe beschneiden:

Code: Alles auswählen

@runmode hide
attrib +R {filepath|..|noterm}
:start
if not exist "{filepath|..}desktop.ini" goto start2
if exist "{filepath|..}desktop.ini" goto deldesk
:deldesk
Select {filepath|..}desktop.ini
del "{filepath|..}desktop.ini" /A H
goto start2
:start2
if exist "{filepath|..}folder.bmp" goto delico
if not exist "{filepath|..}folder.bmp" goto conv
:delico
Select {filepath|..}folder.bmp
del "{filepath|..}folder.bmp" /A H
goto conv
:conv
dopusrt /cmd Image CONVERT=bmp WIDTH=512 PRESERVEASPECTRATIO HERE AS "folder.bmp"
goto start3
:start3
echo [.ShellClassInfo] > {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
echo IconResource=folder.bmp,0  >> {filepath|..}desktop.ini
echo InfoTip={dlgstringS|Enter InfoTip:|}  >> {filepath|..}desktop.ini
echo IconFile=folder.bmp  >> {filepath|..}desktop.ini
echo IconIndex=0  >> {filepath|..}desktop.ini
echo ConfirmFileOp=0  >> {filepath|..}desktop.ini
echo [ViewState] >> {filepath|..}desktop.ini
echo FolderType=Generic  >> {filepath|..}desktop.ini
echo Logo={filepath|..}folder.bmp  >> {filepath|..}desktop.ini
goto start4
:start4
Select {filepath|..}desktop.ini
attrib +H +S -A {filepath|..}desktop.ini
Select {filepath|..}folder.bmp
nconvert.exe -quiet -overwrite -crop 0 {dlgstring|Anzahl Pixel von oben abschneiden:|85} 512 512 {filepath|..}folder.bmp
attrib +H +S -A {filepath|..}folder.bmp

Benutzeravatar
SigmaTau
Beiträge: 60
Registriert: 3. Mai 2008 23:13
Betriebssystem: Win 7 Ultimate 64bit
Produkt: DOpus 9.last | 10.last/BETA
Wohnort: Cassel

Re: DOpus soll desktop.ini verwenden

Beitrag von SigmaTau » 21. Sep 2011 02:34

bei mir wird in der Miniaturansicht nur mit folder.bmp das Icon nicht richtig dargestellt

"nummer 1" nur mit der folder.bmp sieht es bei mir so aus
Zwischenablagebild.png
nur mit folder.bmp
Zwischenablagebild.png (20.93 KiB) 1534 mal betrachtet

"nummer 2" mit folder.jpg sieht es dann so aus
Zwischenablagebild2.png
mit folder.jpg
Zwischenablagebild2.png (21.39 KiB) 1534 mal betrachtet

die rechte vergabe habe ich jetzt so geänder weil deine lösung auch nicht 100% ging

:attrib
dopusrt /cmd SetAttr ATTR {filepath|..}desktop.ini hs
dopusrt /cmd SetAttr ATTR {filepath|..}folder.bmp hs
dopusrt /cmd SetAttr ATTR {filepath|..}folder.jpg hs

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: DOpus soll desktop.ini verwenden

Beitrag von Kundal » 21. Sep 2011 02:59

bei mir wird in der Miniaturansicht nur mit folder.bmp das Icon nicht richtig dargestellt
Ich vermute du musst nur mal den Thumbnail-Cache löschen. Wenn die Option "Ordnerminiaturen über die Shell erzeugen" in den Einstellungen abgeschaltet ist bekommst du diese Ansicht eigentlich nicht mehr.

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: DOpus soll desktop.ini verwenden

Beitrag von Kundal » 21. Sep 2011 12:08

:attrib
dopusrt /cmd SetAttr ATTR {filepath|..}desktop.ini hs
dopusrt /cmd SetAttr ATTR {filepath|..}folder.bmp hs
dopusrt /cmd SetAttr ATTR {filepath|..}folder.jpg hs
Das funktioniert bei mir so nicht, weil die Reihenfolge nicht stimmt. Für mich muss es so aussehen:

Code: Alles auswählen

:attrib
dopusrt /cmd SetAttr {filepath|..}desktop.ini ATTR hs
dopusrt /cmd SetAttr {filepath|..}folder.bmp ATTR hs
dopusrt /cmd SetAttr {filepath|..}folder.jpg ATTR hs

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: DOpus soll desktop.ini verwenden

Beitrag von Kundal » 21. Sep 2011 12:28

Ich habe noch eine Variante erstellt mit der man eine im Quellordner markierte Datei als Icon-Quelle für den Zielordner benutzen kann (der Einfachheit halber nur der fertige Buttoncode). Ich habe die Buttons etwas abgespeckt, weil die "if"-Bedingungen überflüssig sind, wenn kein Backup erstellt wird und das Setzen der Atrtribute jetzt ebenfalls mit dopusrt.exe vorgenommen.

Im Quellordner markierte Datei als Icon-Resource für den Zielordner nutzen (LMB mit Backup; RMB ohne Backup):

Code: Alles auswählen

<?xml version="1.0"?>
<button backcol="none" display="icon" textcol="none" type="three_button">
	<label>Ordner Icon aus markierter Datei</label>
	<icon1>#folder_images</icon1>
	<button backcol="none" display="both" textcol="none">
		<label>Zielordner-Icon aus markierter Datei mit Backup</label>
		<tip>Erstellt Zielordner-Icon aus markierter Datei im Quellordner (mit Backup)</tip>
		<icon1>#folder_images</icon1>
		<function type="batch">
			<instruction>@runmode hide</instruction>
			<instruction>:start</instruction>
			<instruction>if not exist {destpath$}desktop.ini goto start2</instruction>
			<instruction>if exist {destpath$}desktop.ini goto rendesk</instruction>
			<instruction>:rendesk</instruction>
			<instruction>dopusrt /cmd SetAttr "{destpath$}desktop.ini" ATTR n</instruction>
			<instruction>dopusrt /cmd RENAME AUTORENAME "{destpath$}desktop.ini" TO "{destpath$}desktop.ini.bak"</instruction>
			<instruction>goto start2</instruction>
			<instruction>:start2</instruction>
			<instruction>Select {filepath$}</instruction>
			<instruction>echo [.ShellClassInfo] > {destpath$}desktop.ini</instruction>
			<instruction>echo ConfirmFileOp=0  >> {destpath$}desktop.ini</instruction>
			<instruction>echo IconResource={filepath$|noterm},0  >> {destpath$}desktop.ini  </instruction>
			<instruction>echo IconFile={filepath$|noterm}  >> {destpath$}desktop.ini  </instruction>
			<instruction>echo IconIndex=0  >> {destpath$}desktop.ini</instruction>
			<instruction>echo ConfirmFileOp=0  >> {destpath$}desktop.ini</instruction>
			<instruction>goto attrib</instruction>
			<instruction>:attrib</instruction>
			<instruction>dopusrt /cmd SetAttr "{destpath$}desktop.ini" ATTR hs</instruction>
			<instruction>dopusrt /cmd SetAttr "{destpath$|noterm}" ATTR r</instruction>
		</function>
	</button>
	<button backcol="none" display="both" textcol="none">
		<label>Zielordner-Icon aus markierter Datei (ohne Backup)</label>
		<tip>Erstellt Zielordner-Icon aus markierter Datei im Quellordner (ohne Backup)</tip>
		<icon1>#folder_images</icon1>
		<function type="batch">
			<instruction>@runmode hide  </instruction>
			<instruction>:start</instruction>
			<instruction>echo [.ShellClassInfo] > {destpath$}desktop.ini</instruction>
			<instruction>echo ConfirmFileOp=0  >> {destpath$}desktop.ini</instruction>
			<instruction>echo IconResource={filepath$|noterm},0  >> {destpath$}desktop.ini  </instruction>
			<instruction>echo IconFile={filepath$|noterm}  >> {destpath$}desktop.ini  </instruction>
			<instruction>echo IconIndex=0  >> {destpath$}desktop.ini</instruction>
			<instruction>echo ConfirmFileOp=0  >> {destpath$}desktop.ini</instruction>
			<instruction>goto attrib</instruction>
			<instruction>:attrib</instruction>
			<instruction>dopusrt /cmd SetAttr "{destpath$}desktop.ini" ATTR hs</instruction>
			<instruction>dopusrt /cmd SetAttr "{destpath$|noterm}" ATTR r</instruction>
		</function>
	</button>
</button>
Und hier eine Variante (nur ohne Backup), die ich benutze um in meinen Audio-Ordnern das vorhandene "coverart.jpg" als Ordnersymbol zu verwenden (funktioniert hervorragend im Flatview-Modus für alle Alben-Ordner auf einmal):

Verwendet markierte Bilddatei als Icon für den aktuellen Ordner:

Code: Alles auswählen

<?xml version="1.0"?>
<button backcol="none" display="icon" textcol="none">
	<label>Ordner Icon aus Bilddatei</label>
	<icon1>#folder_images</icon1>
	<function type="batch">
		<instruction>@runmode hide</instruction>
		<instruction>Delete QUIET "{filepath|..}desktop.ini"</instruction>
		<instruction>Delete QUIET "{filepath|..}folder.bmp"</instruction>
		<instruction>dopusrt /cmd Image CONVERT=bmp HEIGHT=256 WIDTH=256 HERE AS "folder.bmp"</instruction>
		<instruction>:start</instruction>
		<instruction>echo [.ShellClassInfo] > {filepath|..}desktop.ini</instruction>
		<instruction>echo ConfirmFileOp=0  >> {filepath|..}desktop.ini</instruction>
		<instruction>echo IconResource=folder.bmp,0  >> {filepath|..}desktop.ini</instruction>
		<instruction>echo IconFile=folder.bmp  >> {filepath|..}desktop.ini</instruction>
		<instruction>echo IconIndex=0  >> {filepath|..}desktop.ini</instruction>
		<instruction>echo ConfirmFileOp=0  >> {filepath|..}desktop.ini</instruction>
		<instruction>goto attrib</instruction>
		<instruction>:attrib</instruction>
		<instruction>dopusrt /cmd SetAttr "{filepath|..}desktop.ini" ATTR hs</instruction>
		<instruction>dopusrt /cmd SetAttr "{filepath|..}folder.bmp" ATTR hs</instruction>
		<instruction>dopusrt /cmd SetAttr "{filepath|..|noterm}" ATTR r</instruction>
	</function>
</button>

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: DOpus soll desktop.ini verwenden

Beitrag von Kundal » 21. Sep 2011 17:53

Ich habe das Thema jetzt zusammenfassend in der Sektion "Directory Opus Code-Beispiele" gepostet und dort 5 Schalter zum Download bereitgestellt, die mir persönlich am nützlichsten erscheinen. Für die vielfältigen Variationen und Informationen die wir hier erarbeitet haben habe ich auf diesen Thread verwiesen.
@SigmaTau:
Hat richtig Spaß gemacht mit dir dieses Thema zu beackern. Man gräbt doch immer wieder neue Möglichkeiten in DOpus aus wenn man sein Wissen teilt. Ohne deine DOS-Kenntnisse hätte ich diese Schalter nicht so hinbekommen. :D

Benutzeravatar
SigmaTau
Beiträge: 60
Registriert: 3. Mai 2008 23:13
Betriebssystem: Win 7 Ultimate 64bit
Produkt: DOpus 9.last | 10.last/BETA
Wohnort: Cassel

Re: DOpus soll desktop.ini verwenden

Beitrag von SigmaTau » 21. Sep 2011 19:08

@Kundal

danke, ich sehe das genauso gute geteilt und tolle Ergebnisse bekommen

cu ST

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste