2 Parameter an ein Kommandozeilentool übergeben?
Moderators: Hacker, Stefan2, white
-
- New Member
- Posts: 1
- Joined: 2007-09-23, 16:39 UTC
2 Parameter an ein Kommandozeilentool übergeben?
Hallo,
ich habe hier ein kleines Kommandozeilentool, das als Parameter 2 Dateinamen erwartet. Dieses würde ich gerne aus dem TC heraus per Button oder Tastenkürzel starten und dabei die beiden Dateien als Parameter übergeben, die momentan markiert sind.
Kann mir jemand sagen, wie die Parameterzeile in diesem Fall aussehen müsste? Ich habe nur rausgefunden, dass ich mit %N den momentanen Dateinamen übergeben kann; das ist aber leider ja nur einer….
Danke
Dirk
ich habe hier ein kleines Kommandozeilentool, das als Parameter 2 Dateinamen erwartet. Dieses würde ich gerne aus dem TC heraus per Button oder Tastenkürzel starten und dabei die beiden Dateien als Parameter übergeben, die momentan markiert sind.
Kann mir jemand sagen, wie die Parameterzeile in diesem Fall aussehen müsste? Ich habe nur rausgefunden, dass ich mit %N den momentanen Dateinamen übergeben kann; das ist aber leider ja nur einer….
Danke
Dirk
Welche Parameter erwartet denn das Kommandozeilen-Programm? Davon hängt es doch ab, wie die Parameter-Zeile aussehen muss.
Dateinamen ist zu ungenau. Ist es Quelle und Ziel oder was anderes?
Welche Parameter in dem Ändern-Dialog eines Buttons möglich sind, steht in der TC-Hilfe unter Punkt 3a (Benutzeroberfläche, dann weiterklicken zur Buttonbar und dort Dialogbox zum Ändern).
MfG Dalai
Dateinamen ist zu ungenau. Ist es Quelle und Ziel oder was anderes?
Welche Parameter in dem Ändern-Dialog eines Buttons möglich sind, steht in der TC-Hilfe unter Punkt 3a (Benutzeroberfläche, dann weiterklicken zur Buttonbar und dort Dialogbox zum Ändern).
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
2dirk.meinert
Parameter %S wird vermutlich das Gesuchte sein (%P%S, wenn zusätzlich der Pfad angegeben werden soll):
):
Bei der Definition der Buttons sollte ein Druck auf F1 die passende Hilfe öffnen, da sind die möglichen Variablen aufgelistet/erklärt.Kann mir jemand sagen, wie die Parameterzeile in diesem Fall aussehen müsste? Ich habe nur rausgefunden, dass ich mit %N den momentanen Dateinamen übergeben kann; das ist aber leider ja nur einer….
Parameter %S wird vermutlich das Gesuchte sein (%P%S, wenn zusätzlich der Pfad angegeben werden soll):
BTW, die History.txt sagt etwas anderes zur maximalen Länge der Kommandozeile ((Helpfile) wrote:%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.
%S10 fügt die Namen der ersten 10 markierten Dateien (maximal) in die Kommandozeile ein. Erlaubt es, die Anzahl der an das Programm übergebenen Dateien zu begrenzen. Beliebige Integerwerte>0 sind zulässig.
Hinweise: %N bzw. %M fügt den langen Dateinamen ein, %n bzw. %m den kurzen (8.3) DOS-Namen. %P und %T fügen den langen Pfadnamen ein, %p und %t den kurzen. (dasselbe für %o, %e und %s)
Wenn Sie %P, %p, %T oder %t direkt vor %S bzw. %s schreiben, dann werden alle Dateinamen inkl. komplettem Pfad eingefügt. Beispiel: %P%S fügt alle langen Dateinamen inkl. langem Pfad ein.

(HISTORY.TXT) wrote:07.02.07 Added: Button bar, start menu: New parameters %S and %s pass list of selected files (long names/short names) to the called program. Note that the command line cannot be longer than 8191 characters on Windows XP, 2047 on Windows 2000/NT, and 259 characters on Windows 9x
Who the hell is General Failure, and why is he reading my disk?
-- TC starter menu: Fast yet descriptive command access!
-- TC starter menu: Fast yet descriptive command access!
- dumbledore954
- Senior Member
- Posts: 373
- Joined: 2006-11-27, 08:10 UTC
- Location: Hessisch Sibirien (Germany)
Befindet sich der eine Dateiname im Quell-Fenster und der andere im Ziel-Fenster, verwende ich folgende Parameter:
Funktioniert ohne Probleme; eventuell notwendige Anführungszeichen setzt der TC (verwendete Version 7.02a) selbst.
Code: Select all
%P%N %T%M
Gruß Michael
WinXPPro SP3, TC 7.56a
#7640 Personal licence
WinXPPro SP3, TC 7.56a
#7640 Personal licence
Ich benutze auch gern das Startmenü, um Kommandozeilentools zu starten. Dabei habe ich Schwierigkeiten, die Anführungszeichen richtig zu platzieren, die man für Dateinamen mit Leerstellen braucht.
Ich habe das Gefühl, dass TC immer das erste Leerzeichen verschluckt, das zweite aber an das Tool weitergibt, wenn man Parameter in Anführungszeichen einschließt (z.B. so: "--psrc=%P"), so dass das Programm dann keine vernünftige Parameterliste bekommt.
Das automatische Einfügen von Anführungszeichen durch TC funktioniert auch nicht. Davon abgesehen wäre es vielleicht auch gar nicht sinnvoll, weil die Anführungszeichen keine Eigenschaften der Dateinamen sind, sondern nur für die Kommandozeilenparser relevant sind, die normalerweise nach der Regel parsen: bei jeder Leerstelle beginnt ein neues Argument.
Ich hab's vorläufig aufgegeben und kann das Tool eben nur benutzen, wenn die Pfade keine Leerzeichen haben.
Ich habe das Gefühl, dass TC immer das erste Leerzeichen verschluckt, das zweite aber an das Tool weitergibt, wenn man Parameter in Anführungszeichen einschließt (z.B. so: "--psrc=%P"), so dass das Programm dann keine vernünftige Parameterliste bekommt.
Das automatische Einfügen von Anführungszeichen durch TC funktioniert auch nicht. Davon abgesehen wäre es vielleicht auch gar nicht sinnvoll, weil die Anführungszeichen keine Eigenschaften der Dateinamen sind, sondern nur für die Kommandozeilenparser relevant sind, die normalerweise nach der Regel parsen: bei jeder Leerstelle beginnt ein neues Argument.
Ich hab's vorläufig aufgegeben und kann das Tool eben nur benutzen, wenn die Pfade keine Leerzeichen haben.
Mir erscheint dein Parameter "--psrc=%P" etwas unlogisch.
Gehören die Anführungszeichen nicht um den Pfadnamen?
--psrc="%P"
Wenn ich es richtig mitbekommen habe, fügt der Total Commander nur bei kompletten Dateien (%N, %M, %S) oder Pfaden mit Dateien (%P%N, %T%M) die Anführungszeichen hinzu, wenn Leerzeichen enthalten sind.
Gruß
Gehören die Anführungszeichen nicht um den Pfadnamen?
--psrc="%P"
Wenn ich es richtig mitbekommen habe, fügt der Total Commander nur bei kompletten Dateien (%N, %M, %S) oder Pfaden mit Dateien (%P%N, %T%M) die Anführungszeichen hinzu, wenn Leerzeichen enthalten sind.
Gruß