[Bug?] Parameter der Buttonbar
Moderators: Hacker, Stefan2, white
[Bug?] Parameter der Buttonbar
Bei der übergabe von Parametern in der Buttonbar scheint es ein Problem mit Spaces in Dateinamen zu geben. Selbst wenn ich die Parameter Quote, werden diese nicht an das aufgerufene Programm weitergereicht.
Parameter: "%T%M" "%P%N" und "%T%S" "%P%S" funktionieren nicht, trotz der explizit angegebenen Quotes.
Markierte Dateien test.ini und test (1).ini erzeugen den Aufruf: xyz.exe x:\test.ini y:\test y:\(1).ini
Dann ist da noch ein Quelle/Ziel Problem mit dem Parameter %S. Markierte Dateien aus dem Zielfenster werden nicht übernommen, dafür wird aber zweimal die Datei aus dem Quellverzeichnis durchgereicht.
TC 7.02 & 7.02a
Parameter: "%T%M" "%P%N" und "%T%S" "%P%S" funktionieren nicht, trotz der explizit angegebenen Quotes.
Markierte Dateien test.ini und test (1).ini erzeugen den Aufruf: xyz.exe x:\test.ini y:\test y:\(1).ini
Dann ist da noch ein Quelle/Ziel Problem mit dem Parameter %S. Markierte Dateien aus dem Zielfenster werden nicht übernommen, dafür wird aber zweimal die Datei aus dem Quellverzeichnis durchgereicht.
TC 7.02 & 7.02a
#5576 Personal licence
#155652 Commercial licence
Planung bedeutet, den Zufall durch den Irrtum zu ersetzten.
#155652 Commercial licence
Planung bedeutet, den Zufall durch den Irrtum zu ersetzten.
Da scheint die englische Hilfe aktueller als die deutsche zu sein:
HTH,
Holger
der Hinweis fehlt in der deutschen Hilfe.totalcmd.chm wrote:%P%S insert the names of all selected files into the command line, with full path. Names containing spaces will be surrounded by double quotes. Do NOT put quotes around %P%S yourself!
HTH,
Holger
So wie ich es verstehe (vielleicht ist die Hilfe da nicht ganz eindeutig?), ist %S die Liste aller markierten Files+Verzeichnisse im Source-Panel.
Bei %T%S %P%S werden die Übergabeparameter an das aufzurufende Programm zusammengesetzt aus dem Target-Path und der Liste der im Source-Panel markierten Files,
gefolgt von einer zweiten Liste zusammengesetzt aus SourcePath und im Source-Panel markierten Files.
Beispiel (nur markierte Files aufgeführt):
Links( c:\DIR_A ):
a.x
b.x
Rechts( c:\DIR_B ):
c.x
d.x
- Rechts ist aktives Panel.
Aufruf mit %T%S %P%S ergibt folgende Übergabeparameter:
- Links ist aktives Panel.
Aufruf mit %T%S %P%S ergibt folgende Übergabeparameter:
Ich mag mich irren (bin gerne bereit dazuzulernen).
Gruß,
Holger
Bei %T%S %P%S werden die Übergabeparameter an das aufzurufende Programm zusammengesetzt aus dem Target-Path und der Liste der im Source-Panel markierten Files,
gefolgt von einer zweiten Liste zusammengesetzt aus SourcePath und im Source-Panel markierten Files.
Beispiel (nur markierte Files aufgeführt):
Links( c:\DIR_A ):
a.x
b.x
Rechts( c:\DIR_B ):
c.x
d.x
- Rechts ist aktives Panel.
Aufruf mit %T%S %P%S ergibt folgende Übergabeparameter:
Code: Select all
c:\DIR_A\c.x c:\DIR_A\d.x c:\DIR_B\c.x c:\DIR_B\d.x
Aufruf mit %T%S %P%S ergibt folgende Übergabeparameter:
Code: Select all
c:\DIR_B\a.x c:\DIR_B\b.x c:\DIR_A\a.x c:\DIR_A\b.x
Gruß,
Holger
@HolgerK
Dank dir für die ausführliche Beschreibung!
Es tritt genau der Effekt aus deinem Beispiel auf. Das sehe ich als Bug und auch nicht sonderlich sinnvoll an.
Dass das auch so kompliziert sein muss.
Eigentlich möchte ich nur 1-3 (markierte) Dateien an meinen Differ weiterleiten. Das ist derzeit einfach nicht möglich.
Dank dir für die ausführliche Beschreibung!
Es tritt genau der Effekt aus deinem Beispiel auf. Das sehe ich als Bug und auch nicht sonderlich sinnvoll an.
Also bei mir steht da...HolgerK wrote:So wie ich es verstehe (vielleicht ist die Hilfe da nicht ganz eindeutig?), ist %S die Liste aller markierten Files+Verzeichnisse im Source-Panel.
... also nichts von einem aktivem/nicht aktivem Panel.%S fügt die Namen aller markierten Dateien in die Kommandozeile ein. Namen, die Leerzeichen enthalten, werden von doppelten Anführungszeichen umgeben. Bitte beachten Sie die maximal mögliche Länge der Kommandozeile: 32767 Zeichen.
Dass das auch so kompliziert sein muss.

Eigentlich möchte ich nur 1-3 (markierte) Dateien an meinen Differ weiterleiten. Das ist derzeit einfach nicht möglich.
#5576 Personal licence
#155652 Commercial licence
Planung bedeutet, den Zufall durch den Irrtum zu ersetzten.
#155652 Commercial licence
Planung bedeutet, den Zufall durch den Irrtum zu ersetzten.
- ghisler(Author)
- Site Admin
- Posts: 50809
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
%S funktioniert in der Tat nur mit dem aktiven Panel. Einen Befehl fürs inaktive Panel gibt es leider noch nicht.
%P%S darf nicht in "" geschrieben werden. Wieso? Das würde folgendes Resultat geben (bei 4 Dateien):
"c:\DIR_A\c.x c:\DIR_A\d.x c:\DIR_B\c.x c:\DIR_B\d.x"
%P%S darf nicht in "" geschrieben werden. Wieso? Das würde folgendes Resultat geben (bei 4 Dateien):
"c:\DIR_A\c.x c:\DIR_A\d.x c:\DIR_B\c.x c:\DIR_B\d.x"
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Ok, wie wäre es dann mit einem %D für Destination (inaktives Panel), das die gleichen Eigenschaften wie %S für Source hat? Der Code wäre dann ja identisch, halt nur für das andere Panel. Das würde mir ungemein helfen!ghisler(Author) wrote:%S funktioniert in der Tat nur mit dem aktiven Panel. Einen Befehl fürs inaktive Panel gibt es leider noch nicht.
Ups, ich sehe gerade, das %D schon vergeben ist. Na irgendein Buchstabe wird schon noch frei sein/passen.

#5576 Personal licence
#155652 Commercial licence
Planung bedeutet, den Zufall durch den Irrtum zu ersetzten.
#155652 Commercial licence
Planung bedeutet, den Zufall durch den Irrtum zu ersetzten.
Wie wäre es denn mit den Vorschlägen die hier bereits mal gemacht worden sind:
Wiki: Unified Parameters System: Additional modifiers: prefixes
also: %!S
Gruß,
Holger
Wiki: Unified Parameters System: Additional modifiers: prefixes
also: %!S
Gruß,
Holger