Bessere Organisation und Erweiterung der Verzeichnisliste (Strg+D)

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
Bjo.Hue
Junior Member
Junior Member
Posts: 4
Joined: 2024-07-09, 09:46 UTC

Bessere Organisation und Erweiterung der Verzeichnisliste (Strg+D)

Post by *Bjo.Hue »

Hallo zusammen,
ich möchte regelmäßig wenn neue Projekt hinzu kommen neue Menüeintrage inklusive Untereinträgen in die Verzeichnisliste (Strg+D) aufnehmen (immer die selben mit leicht veränderten Kommandos) und im selben Zug oftmals alte entfernen. Leider ist das über die aktuelle Oberfläche eine mühsame Angelegenheit. Auf der Ghisler Website sind mehrere Tools verlinkt, die versprechen da eine Verbesserung zu bieten, die aber alle 15 Jahre alt sind und nicht mehr zu existieren scheinen.
Gibt ist irgendwelche Tools, Plugins oder wegen mir auch Powershellskripte um hier eine komfortablere Organisation zu ermöglichen?

Danke für jeden Hinweis!
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1049
Joined: 2004-07-29, 11:00 UTC

Re: Bessere Organisation und Erweiterung der Verzeichnisliste (Strg+D)

Post by *ZoSTeR »

 
Die bekanntesten Editoren sind wohl die Ultra TC Editors.

Diese bieten im Bereich Verzeichnisliste zwar mehr Komfort, aber wenig Zusatznutzen meiner Meinung nach.

Die Verzeichnisliste ist eine einfache Ini-Datei, die sich manigfaltig durch Skripte oder anderes manipulieren lässt.

Du solltes einfach mal detailiert deinen Funktionswunsch darstellen (mit Beispielen) und ich bin mir sicher, daß jemand eine entsprechende Lösung baut oder bereits hat.
Bjo.Hue
Junior Member
Junior Member
Posts: 4
Joined: 2024-07-09, 09:46 UTC

Re: Bessere Organisation und Erweiterung der Verzeichnisliste (Strg+D)

Post by *Bjo.Hue »

Vielen Dank schonmal für die Antwort. Das ist die Editor-Sammlung die ich meinte. Offenbar ist die x mal umgezogen. Der Editor sieht etwas besser aus, hat aber, wie Sie ja bereits geschrieben haben, auch keine erweiterte Funktionalität, kann also z.B. auch keine Ordner kopieren.

Ein (konstruiertes) Beispiel wäre:

Aus der Orderstruktur

Code: Select all

[DirMenu]
menu1=Eintrag1
cmd1=
path1=
menu2=Eintrag2
cmd2=
path2=
menu3=-Mein Programm
menu4=-Version 2022
menu5=Batch1 starten
cmd5=d:\Versionen\2022\bin\Batch1.bat
path5=d:\Versionen\2022\bin\
menu6=Batch2 starten
cmd6=d:\Versionen\2022\bin\Batch2.bat
path6=d:\Versionen\2022\bin\
menu7=Projekt Verzeichnis
cmd7=cd d:\Versionen\2022\
menu8=--
menu9=-Version 2023
menu10=Batch1 starten
cmd10=d:\Versionen\2023\bin\Batch1.bat
path11=d:\Versionen\2023\bin\
menu12=Batch2 starten
cmd12=d:\Versionen\2023\bin\Batch2.bat
path12=d:\Versionen\2023\bin\
menu13=Projekt Verzeichnis
cmd13=cd d:\Versionen\2023\
menu14=--
menu15=--
menu16=Eintrag3
cmd16=
path16=
menu17=Eintrag4
cmd17=
path17=
menu18=-Server
menu19=-Version 2022
menu20=Starten
cmd20=d:\Server\2022\bin\run.bat
path20=d:\Server\2022\bin\
menu21=--
menu22=-Version 2023
menu23=Starten
cmd23=d:\Server\2023\bin\run.bat
path23=d:\Server\2023\bin\
menu24=--
menu25=Eintrag5
cmd25=
path25=
Wird nach Release 2024 die Ordnerstruktur

Code: Select all

[DirMenu]
menu1=Eintrag1
cmd1=
path1=
menu2=Eintrag2
cmd2=
path2=
menu3=-Mein Programm
menu4=-Version 2022
menu5=Batch1 starten
cmd5=d:\Versionen\2022\bin\Batch1.bat
path5=d:\Versionen\2022\bin\
menu6=Batch2 starten
cmd6=d:\Versionen\2022\bin\Batch2.bat
path6=d:\Versionen\2022\bin\
menu7=Projekt Verzeichnis
cmd7=cd d:\Versionen\2022\
menu8=--
menu9=-Version 2023
menu10=Batch1 starten
cmd10=d:\Versionen\2023\bin\Batch1.bat
path11=d:\Versionen\2023\bin\
menu12=Batch2 starten
cmd12=d:\Versionen\2023\bin\Batch2.bat
path12=d:\Versionen\2023\bin\
menu13=Projekt Verzeichnis
cmd13=cd d:\Versionen\2023\
menu14=--
menu15=-Version 2024
menu16=Batch1 starten
cmd16=d:\Versionen\2024\bin\Batch1.bat
path17=d:\Versionen\2024\bin\
menu18=Batch2 starten
cmd18=d:\Versionen\2024\bin\Batch2.bat
path18=d:\Versionen\2024\bin\
menu19=Projekt Verzeichnis
cmd19=cd d:\Versionen\2024\
menu20=--
menu21=--
menu22=Eintrag3
cmd22=
path22=
menu23=Eintrag4
cmd23=
path23=
menu24=-Server
menu25=-Version 2022
menu26=Starten
cmd26=d:\Server\2022\bin\run.bat
path26=d:\Server\2022\bin\
menu27=--
menu28=-Version 2023
menu29=Starten
cmd30=d:\Server\2023\bin\run.bat
path30=d:\Server\2023\bin\
menu31=--
menu32=-Version 2024
menu33=Starten
cmd33=d:\Server\2023\bin\run.bat
path33=d:\Server\2023\bin\
menu34=--
menu35=Eintrag5
cmd35=
path35=
Es wird also an mehreren Stellen immer wieder ein gleich strukturierter Unterordner eingefügt.
JOUBE
Power Member
Power Member
Posts: 1664
Joined: 2004-07-08, 08:58 UTC

Re: Bessere Organisation und Erweiterung der Verzeichnisliste (Strg+D)

Post by *JOUBE »

Meiner Meinung nach ist es durchaus lohnend - wg der Übersichtlichkeit - die Section [Dirmenu] via der redirect-Funktion des Tc in eine eigene Datei auszulagern.

Diese Datei kann man dann mit jedem normalen Editor bearbeiten, ohne andere Teile der wincmd.ini zu stören.

Man könnte dann beliebige Teile (Einzelne Eemente aus zwei bis 3 Zeilen oder ganze Untermenüs von =-Titel bis =--) darin Kopieren, Einfügen, Verschieben, Löschen.

Es bliebe die Sache mit der Nummerierung, die ja komplett neu gemacht werden muss. Das wäre im Prinzip einfach zu machen, aber da bei mir der genannte Fall (Untermenü kopieren) nur äussert selten vorkommt, habe ich mir noch nicht die Mühe gemacht, ein entsprechendes Script/Programm zu erstellen und werde das auch nicht tun.

Stattdessen füge ich neue Untermenüs oder Kopien von Untermenüs etwas weniger perfekt ein, aber doch recht schnell und einfach:

Im Konfigurieren-Dialog erstelle ich an der entsprechenden Stelle Untermenüs und Einträge mit Dummy-Texten und commands (einfach ein "x"). Beim Schliessen des Dialogs erledigt der Tc die Neunummerierung, Die echten Texte und commands bearbeite ich dannach wiederum mit einem normalen Editor.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50386
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Bessere Organisation und Erweiterung der Verzeichnisliste (Strg+D)

Post by *ghisler(Author) »

Sie könnten den Projektnamen durch eine Umgebungsvariable ersetzen, etwa so:
c:\Projekte\%prokekt1%\Dokumente
und dann beim Projektwechsel die Umgebungsvariable prokekt1 ändern. Bei mehreren Projekten einfach prokekt1, prokekt2 usw. verwenden und die Umgebungsvariablen bei Bedarf ändern.
Author of Total Commander
https://www.ghisler.com
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1049
Joined: 2004-07-29, 11:00 UTC

Re: Bessere Organisation und Erweiterung der Verzeichnisliste (Strg+D)

Post by *ZoSTeR »

 
Hier mal nen PowerShell Script welches die Nummerierung der Einträge korrigiert, so daß man beliebige Teile per Copy&Paste einfügen kann.
Die ursprungliche Nummerierung wird ignoriert und bei jeder "menu"-Zeile wird hochgezählt.
Für völlig verwürfelte Inis könnte man die Logik noch erweitern, zur Zeit wird von zusammenhängenden Einträgen ausgegangen (menuX, cmdX, pathX).

Bitte mit Kopie einer umgeleiteten DirMenu-Ini testen.

Code: Select all

# Version 0.1
# Anpassen:
$iniDirMenuPath = "$PSScriptRoot\wincmd_DirMenu.ini"
$iniDirMenuResultPath = "$PSScriptRoot\wincmd_DirMenu_Fixed.ini"

$iniDirMenuContent = Get-Content -LiteralPath $iniDirMenuPath
$pattern = "(?<lineKey>\D+)(?<lineNumber>\d+)=(?<lineValue>.*)"
$counter = -1
$iniResult = ""

foreach ($line in $iniDirMenuContent)
{
    if (($counter -eq -1) -and ($line -ne "[DirMenu]"))
    {
        echo "Nur redirected Inis verwenden!"
        exit
    }
    elseif ($counter -eq -1)
    {
        $counter++
    }

    $matched = $line -match $pattern

    if ($matched)
    {
        if ($matches.lineKey -eq "menu"){$counter++}
        $iniResult += $matches.lineKey + $counter + "=" + $matches.lineValue + "`r`n"
    }
    else
    {
        # Zeile passt nicht, zB Kommentar
        $iniResult += $line + "`r`n"
    }
}

Set-Content -LiteralPath $iniDirMenuResultPath -Value $iniResult
JOUBE
Power Member
Power Member
Posts: 1664
Joined: 2004-07-08, 08:58 UTC

Re: Bessere Organisation und Erweiterung der Verzeichnisliste (Strg+D)

Post by *JOUBE »

ZoSTeR wrote: 2024-07-10, 17:06 UTC Für völlig verwürfelte Inis könnte man die Logik noch erweitern, zur Zeit wird von zusammenhängenden Einträgen ausgegangen (menuX, cmdX, pathX).
Es ist tatsächlich so, dass im letzten Sommer (2023) die Einfügeroutine im Konfigurieren-Dialog so überarbeitet wurde, dass diese Reihenfolge (zusammenhängende Einträge) nun vom Tc eingehalten wird.

Vorher war das nämlich nicht so, sondern es wurden alle "menu"-Einträge hintereinander geschrieben und darunter dann alle "cmd"-Einträge. Dies trat nur auf, wenn man die Einfügeroutine im Konfigurieren-Dialog verwendete.

Das war sehr unübersichtlich für das manuelle Bearbeiten.

Ich finde den entsprechenden Thread aus Sommer 2023 leider nicht mehr, es war aber eine wirklich wichtige Änderung für die "manuelle" Handhabung der Direktory Hotlist.

Trotzdem ist ein Script, dass auf diese "richtige" Reihenfolge setzt, durchaus riskant. Denn der Tc selbst kann auch mit beliebig zerwürfelten Reihenfolgen umgehen. Eine "richtige" Reihenfolge ist also keineswegs Pflicht.
JOUBE
Power Member
Power Member
Posts: 1664
Joined: 2004-07-08, 08:58 UTC

Re: Bessere Organisation und Erweiterung der Verzeichnisliste (Strg+D)

Post by *JOUBE »

Habe mal einen Vorschlag im Suggestion-Forum draus gemacht, siehe: Directory Hotlist (Ctrl+D): Copy&Paste items and subfolders
Bjo.Hue
Junior Member
Junior Member
Posts: 4
Joined: 2024-07-09, 09:46 UTC

Re: Bessere Organisation und Erweiterung der Verzeichnisliste (Strg+D)

Post by *Bjo.Hue »

Vielen Dank für die ungewöhnlich schnellen und fundierten Antworten. Zunächst weiß ich jetzt schon mal, dass ich kein bestehendes Tool übersehen habe. Ich muss noch mal suchen wie das mit dem redirect funktioniert. Ich denke, wenn ich das in eine eigene Datei packe und das Skript (ein extra Dank an ZoSTeR dafür) noch etwas erweitere, damit es Umlaute nicht zerschießt und mir die Version ersetzt, dann ist das schonmal eine deutliche Erleichterung. Ich werde beobachten ob aus dem Vorschlag etwas wird, bis dahin ist das Thema für mich erstmal abgeschlossen.
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1049
Joined: 2004-07-29, 11:00 UTC

Re: Bessere Organisation und Erweiterung der Verzeichnisliste (Strg+D)

Post by *ZoSTeR »

 
Um Sektionen der wincmd.ini in eigene Dateien umzuleiten, einfach ein "RedirectSection = " darunter setzen, zB

Code: Select all

[DirMenu]
RedirectSection = %LOCALAPPDATA%\GHISLER\wincmd_DirMenu.ini
Bezüglich der Umlaute beim Skript: Dies habe ich auf meiner Seite eigentlich erfolgreich getestet...

Setz mal bitte ein "-Encoding Default" hinter den Get- und Set-Content Befehl (oder auch "-Encoding UTF8").
Bjo.Hue
Junior Member
Junior Member
Posts: 4
Joined: 2024-07-09, 09:46 UTC

Re: Bessere Organisation und Erweiterung der Verzeichnisliste (Strg+D)

Post by *Bjo.Hue »

Jawohl danke, habe beides bereits hingekriegt.
Post Reply