Ausgewählter Dateiname als Parameter in Kommandozeile einfügen

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
howl196
Junior Member
Junior Member
Posts: 15
Joined: 2012-03-30, 07:51 UTC

Ausgewählter Dateiname als Parameter in Kommandozeile einfügen

Post by *howl196 »

Hallo.

Der Total Commander hat mittlerweile einfach zu viele Funktionen. ;-)

Gerade suche ich nach einem Parameter, um den ausgewählten Namen als Parameter in der Kommandozeile nutzen zu können.
Beispiel: Ausgewählt im aktiven Fenster ist die Datei "start.html" und ich möchte ein mein Programm "MeinTool.exe" mit der Datei aufrufen. Aktuell tippe ich dazu "MeinTool.exe start.html" in die Kommandozeile ein. Ich dachte, das würde auch mit "MeinTool.exe %S" gehen. Aber da habe ich wohl was falsch verstanden.
Hintergrund: Das Tool wird immer mal wieder mit unterschiedlichen Dateien gestartet. Und da könnte ich dann einfach den letzten Befehl aus der Historie nutzen. Das spart jedes Mal einige Sekunden.

Wo liegt mein Fehler?
User avatar
Dalai
Power Member
Power Member
Posts: 9393
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: Ausgewählter Dateiname als Parameter in Kommandozeile einfügen

Post by *Dalai »

Ein Button mit

Code: Select all

Kommando: MeinTool.exe
Parameter: %P%N
anlegen und diesen drücken, wenn der Cursor auf der gewünschten Datei (hier start.html) steht.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
howl196
Junior Member
Junior Member
Posts: 15
Joined: 2012-03-30, 07:51 UTC

Re: Ausgewählter Dateiname als Parameter in Kommandozeile einfügen

Post by *howl196 »

Danke! Das ging ja fix!
Geht das auch ohne Button? Was ich (leider) in meinem Beispiel nicht angegeben habe: Nach dem Dateinamen kommen noch eigene Parameter, die nicht immer gleich sind. Also:
MeinTool.exe start.html /P1 /P2 /P3

%P%N funktioniert als Kommandozeile leider nicht.
User avatar
Dalai
Power Member
Power Member
Posts: 9393
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: Ausgewählter Dateiname als Parameter in Kommandozeile einfügen

Post by *Dalai »

Die Kommandozeile unterstützt soweit ich weiß die für Buttons üblichen Platzhalter nicht. Die einzige mir bekannte Möglichkeit, den Dateinamen unter dem Cursor in die Kommandozeile einzufügen, ist Strg+Enter (nur Dateiname) oder Strg+Shift+Enter (Dateiname mit absolutem Pfad) zu drücken.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
Stefan2
Power Member
Power Member
Posts: 4159
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Re: Ausgewählter Dateiname als Parameter in Kommandozeile einfügen

Post by *Stefan2 »

Eventuell helfen dir diese Möglichkeiten weiter?:

howl196 wrote: 2024-02-09, 11:07 UTC Geht das auch ohne Button?
Du kannst das Kommando auch in der usercmd.ini anlegen (UserDefinedCommando) und ihm ein Tastaturkürzel zuweisen.



howl196 wrote: 2024-02-09, 11:07 UTC Was ich (leider) in meinem Beispiel nicht angegeben habe:
Nach dem Dateinamen kommen noch eigene Parameter, die nicht immer gleich sind. Also:
MeinTool.exe start.html /P1 /P2 /P3
Du kannst dem Kommando-Parameter ein führendes "?" Fragezeichen hinzufügen,
dann wird dir das Kommando vor der Ausführung noch einmal angezeigt und kann so angepasst werden.


(oder weise dem UDC ein Alias zu und verwende die "%A"-Platzhaltern)





Mehr Details dazu gibt es hier:

TCs' Benutzer-definierte Kommandos (BDK) (em_xxxxx) UserCmd.ini
https://ghisler.ch/board/viewtopic.php?p=346779#p346779

User-Defined Command (UDC) (usercmd.ini) em_command
https://ghisler.ch/board/viewtopic.php?p=344777#p344777

 
howl196
Junior Member
Junior Member
Posts: 15
Joined: 2012-03-30, 07:51 UTC

Re: Ausgewählter Dateiname als Parameter in Kommandozeile einfügen

Post by *howl196 »

Tatsächlich ist das mein erster Versuch gewesen:
[em_MeinTool]
cmd=MeinTool
param=%N

Da dann ein Shortcut drauf und fertig. Allerdings habe ich hier nicht den leider vorkommenden Fall, dass ich noch weitere Parameter brauche. Ich könnte mir also mehrere Befehle erstellen, die dann jeweils mit den richtigen Parametern ausgeführt werden würden:
[em_MeinTool1]
cmd=MeinTool
param=%N /P1

[em_MeinTool2]
cmd=MeinTool
param=%N /P2

Müsste das so aussehen?
Und Mit dem "%A":
[em_MeinTool]
cmd=MeinTool
param=%N %A

Das funktioniert leider nicht. Er startet den Befehl und ignoriert den "%A" Parameter. Also arbeitet so, als wenn kein Parameter angegeben wäre. Ich bekomme auch keine Möglichkeit, den Parameter anzugeben.

Vielleicht mag ja mal jemand einen GPT erstellen und den mit diesem Forum und allen Anleitungen füttern???
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1013
Joined: 2004-07-29, 11:00 UTC

Re: Ausgewählter Dateiname als Parameter in Kommandozeile einfügen

Post by *ZoSTeR »

 
Du könntest testen mit drei Parametern:

Code: Select all

[em_myalias1]
button=
cmd=cmd.exe /k echo
param=%A2 %N %A3 %A1
Wahrscheinlich ist ein Leerzeichen oder ein Sonderzeichen das Problem.

Die Reihenfolge ist absichtlicht falsch, um Fehler zu erkennen.
howl196
Junior Member
Junior Member
Posts: 15
Joined: 2012-03-30, 07:51 UTC

Re: Ausgewählter Dateiname als Parameter in Kommandozeile einfügen

Post by *howl196 »

Wenn ich das teste und auf einen Button lege passt das soweit. %N ist " " (also ein Leerzeichen) und die Parameter werden so gelistet, wie ich sie angegeben habe. Aber dann habe ich die Parameter ja fix zum Befehl angefügt.

Vermutlich baue ich mir einen Haufen Buttons, die dann jeweils den gewünschten Parametersatz haben.
User avatar
Dalai
Power Member
Power Member
Posts: 9393
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: Ausgewählter Dateiname als Parameter in Kommandozeile einfügen

Post by *Dalai »

Füge an den Anfang des Parameterfelds ein Fragezeichen hinzu. TC zeigt dann unmittelbar vor dem Ausführen die ersetzten Parameter an und erlaubt so auch eine Änderung der Parameter und Schalter.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Post Reply