Lange Pfade, Windows Terminal und Button-Parameter %P

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
Scribe2511
Junior Member
Junior Member
Posts: 2
Joined: 2023-05-11, 02:12 UTC

Lange Pfade, Windows Terminal und Button-Parameter %P

Post by *Scribe2511 »

Hi,

ich bekomme es leider nicht hin, die langen Pfadangaben mit Leerzeichen ans Windows Terminal (wt.exe) weiterzureichen. Sind keine Leerzeichen im Pfad enthalten / der cmd-Prompt würde keine Quotes benötigen, dann funktioniert es wie gewünscht.

Der angelegte Button schaut bisher so aus:
Kommando: wt
Parameter: -d %T ; sp -d %P ; sp -H -d %P

Raus kommt (/ sollte kommen) ein dreigeteiltes Fenster mit cmd-Prompt im jeweiligen Verzeichnis.

Mit Leerzeichen im Pfad (und %P) kommt dann sowas dabei heraus:
[Fehler 2147942402 (0x80070002) beim Start von `(23)\']
oder mit "%P"
[Fehler 2147942667 (0x8007010b) beim Start von `%SystemRoot%\System32\cmd.exe']
Auf das Startverzeichnis „d:\Downloads\foo (23)"“ konnte nicht zugegriffen werden
8.3-Namen mit %t und %p gehen zwar, aber man sieht nicht auf dem ersten Blick in welchem Ordner man dann gerade was anstellt.


BTW: Wie verwendet man den Parameter %Q (in der Hilfe in "Dialogbox: Konfigurieren - Buttonbar ändern" gefunden) denn richtig? Ein Beispiel war dort nicht am Start und einen Reim konnte ich mir auch nicht drauf machen.

Danke für die Zeit.
User avatar
Stefan2
Power Member
Power Member
Posts: 4153
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Re: Lange Pfade und Windows Terminal

Post by *Stefan2 »

Probier mal

Parameter: -d "%T" ; sp -d "%P" ; sp -H -d "%P"



Und füge mal ein ? als ersten Parameter ein, dann bekommst du angezeigt, was passieren wird:
Parameter: ?-d "%T" ; sp -d "%P" ; sp -H -d "%P"



Oder verwende mal testweise:
Kommando: cmd /k
Parameter: ECHO -d "%T" ; sp -d "%P" ; sp -H -d "%P"






Sind diese Semikolon eine korrekte Syntax?
Anscheinend schon:
https://learn.microsoft.com/en-us/windows/terminal/command-line-arguments?tabs=windows

sp --- Creates a new split window pane either horizontally or vertically
-H --- panes to be split horizontally
-d --- Directory path



 
Scribe2511
Junior Member
Junior Member
Posts: 2
Joined: 2023-05-11, 02:12 UTC

Re: Lange Pfade und Windows Terminal

Post by *Scribe2511 »

Ha! Der letzte Backslash / Rückstrich in der Pfadangabe war der Störenfried.
-d "%T:~0,-1" ; sp -d "%P:~0,-1" ; sp -H -d "%P:~0,-1"
funktioniert nun auch mit langen Pfaden, egal ob mit oder ohne Leerzeichen darin, wie erwünscht.
Prima, nun hat das Ärgernis nun auch ein Ende. :D
Stefan2 wrote: 2023-05-18, 06:37 UTC
Sind diese Semikolon eine korrekte Syntax?
Anscheinend schon:
https://learn.microsoft.com/en-us/windows/terminal/command-line-arguments?tabs=windows

sp --- Creates a new split window pane either horizontally or vertically
-H --- panes to be split horizontally
-d --- Directory path
Ja, die Syntax schaut etwas befremdlich aus.
-V (vertikal) hatte ich beim ersten sp weggelassen, da default.

Die Hilfe gibt es auch optional in Deutsch; die automatische Übersetzung ist manchmal bestenfalls komisch.
https://learn.microsoft.com/de-de/windows/terminal/command-line-arguments?tabs=windows
https://learn.microsoft.com/de-de/windows/terminal/panes
(Der Befehl togglePaneZoom liegt hier auf Tastenkombination Strg+Space und dann kann man den Bereich, wo der Cursor gerade steht, mal fix auf 'groß' umschalten ohne die anderen Bereich versehentlich zu schreddern oder durch die Tabs zu müssen.)

Danke für deine AW und Zeit.
User avatar
Stefan2
Power Member
Power Member
Posts: 4153
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Re: Lange Pfade und Windows Terminal

Post by *Stefan2 »

 
Hi Scribe2511, klasse das es jetzt funktioklappt.

Scribe2511 wrote: 2023-05-18, 12:57 UTC Ha! Der letzte Backslash / Rückstrich in der Pfadangabe war der Störenfried.
-d "%T:~0,-1" ; sp -d "%P:~0,-1" ; sp -H -d "%P:~0,-1"
funktioniert nun auch mit langen Pfaden, egal ob mit oder ohne Leerzeichen darin, wie erwünscht.


2ghisler(Author)
Danke, Herr Ghisler, für diese Verbesserung :D

Das ist immer wieder hilfreich.
29.04.21 Release Total Commander 10.00 public beta 8
26.04.21 Added: All placeholders in button bar or start menu like %N, %P now support substring fields
in the form :~start,end, e.g. %N:~2,5 (5 characters from the second) or %N:~-8,5 (5 from the 8-last) (32/64)
Und all das Andere
29.04.21 Added: Parameters %S, %R, %P%S and %T%R now support appended text for each file.
The parameter must be in double quotes, e.g. "%P%S.bak" would append .bak to each name (32/64)
29.04.21 Added: Special partial parameter with start value -0: %N:~-0,20 copies the first 20 characters
of the name without extension, %N:~-0,-20 the first 20 characters of the extension without the name (32/64)

Mehr unter https://www.ghisler.com/history1100.txt




Jetzt muss ich mir das nur noch merken können.... :lol:

 
JOUBE
Power Member
Power Member
Posts: 1470
Joined: 2004-07-08, 08:58 UTC

Re: Lange Pfade und Windows Terminal

Post by *JOUBE »

Stefan2 wrote: 2023-05-18, 14:00 UTCjetzt muss ich mir das nur noch merken können.... :lol:
Ja...

Joube
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48075
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Lange Pfade, Windows Terminal und Button-Parameter %P

Post by *ghisler(Author) »

jetzt muss ich mir das nur noch merken können.... :lol:
Nein! Ist alles in der Hilfe erklärt, wenn man im Buttonbar-Dialog F1 drückt:
Hinweis: Alle Parameter unterstützen nun Teilstringfelder in der Form :~Start,Länge, z.B. %N:~2,5 oder %N:~-8,5 . Um eine Ziffer direkt hinter dem Längenwert anzugeben, muss dieser mit ~ beendet werden z.B. %N:~2,5~2. Negative Werte werden vom Ende des Strings gemessen. Beispiel: %P:~0,-1 schneidet den Rückstrich vom Pfad ab.
Der Startwert -0 ist speziell: %N:~-0,20 kopiert die ersten 20 Zeichen des Namens ohne Erweiterung, %N:~-0,-20 die der Erweiterung ohne Namen.
Author of Total Commander
https://www.ghisler.com
Post Reply