"Kopiere Namen mit Pfad in Zwischenablage" auch fü

German support forum

Moderators: white, Hacker, Stefan2

Gauner
Junior Member
Junior Member
Posts: 59
Joined: 2004-08-06, 12:01 UTC
Location: Berlin

"Kopiere Namen mit Pfad in Zwischenablage" auch fü

Post by *Gauner »

Hallo allerseits!

Ich hätte da ein dringendes Bedürfnis für eine kommende TC-Version:

Der Befehl "Kopiere Namen mit Pfad in Zwischenablage" sollte auch für ".." (also das übergordnete Verzeichnis) gelten. Wenn man ihn also auf ".." anwendet, hat man dann das aktuelle Verzeichnis in der Zwischenablage.
(Erweitert: Das ganze ".."-Ding könnte wie ein Ordner funktionieren. Also auch kopier- und verschiebbar sein. Wäre logisch.)

Ich weiß, ich bekomme das aktuelle Verzeichnis auch anders. Aber nicht ohne Maus oder zumindest nicht ohne mehrere Zwischenschritte und einen extra-Befehl.
Schöner wäre, wenn meine Tastenkombi für "Kopiere Namen mit Pfad in Zwischenablage" einfach immer funktioniert, egal, was gerade markiert ist.
Gilt alles natürlich auch für "Kopiere markierte Namen in Zwischenablage".

Hoffe, das kann einmal berücksichtigt werden.

Vielen Dank!
User avatar
Lefteous
Power Member
Power Member
Posts: 9535
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

Hast du dir mal die Befehle in der Kategorie "Zwischenablage" im Befehlsbrowser angeschaut? Der Befehl cm_CopySrcPathToClip sollte der richtige sein.
Gauner
Junior Member
Junior Member
Posts: 59
Joined: 2004-08-06, 12:01 UTC
Location: Berlin

Post by *Gauner »

Na, wie gesagt "Ich weiß, ich bekomme das aktuelle Verzeichnis auch anders."
Aber ich möchte eben nicht erst entscheiden, welchen Befehl ich jetzt gerade brauche (und wieder eine neue Tastankombi anlegen und merken), sondern der Befehl cm_CopyFullNamesToClip sollte einfach auch auf ".." funktionieren. Und auch wenn Gemischtes markiert ist: Bspw. Ordner + "..".

Würde ja auch Sinn machen, denn gewöhnlicherweise ist ja ".." auch wie ein Verzeichnis. Dessen Pfad kann doch einfach ebenfalls kopiert werden.

Wäre jedenfalls schön und eine Erleichterung. Nebenbei auch m.M. nach intuitives Verhalten. Eine Fehlermeldung "Keine Dateien gewählt!" ist an dieser Stele imo nicht intuitiv zu erwarten.
Gauner
Junior Member
Junior Member
Posts: 59
Joined: 2004-08-06, 12:01 UTC
Location: Berlin

Post by *Gauner »

Würde das gern nochmal hochholen. Immer wieder habe ich diesen Anwendungsfall:
Ich möchte aus einem beliebigen Programm heraus eine Datei abspeichern.
Ich suche im TC den geeigneten Ordner. Diesen finde ich nur, wenn ich ihn auch betrete.
Nun bin ich in diesem Ordner, möchte seinen Pfad haben, um ihn im "Speichern"-Dialog des Programms reinzukopieren und dort den Dateinamen anzuhängen.
Zum Kopieren des aktuellen Pfades kann ich nun entweder die Titelzeile anklicken und rauskopieren, oder cm_CopySrcPathToClip verwenden.

Normalerweise verwende ich aber meinen Shortcut Strg+Shift+c für cm_CopyNetNamesToClip und es ist doof, einen zweiten Befehl/Shortcut anlegen zu müssen, obwohl ich doch eigentlich das gleiche möchte. cm_CopyNetNamesToClip macht ja auch keinen Unterschied zwischen Dateien und Ordnern, warum macht es einen zwischen dem Ordner .. und jedem anderen Ordner?
(Und dann auch noch mit zu bestätigender Warnung - was nochmal mehr aufhält.)
User avatar
tuska
Power Member
Power Member
Posts: 3741
Joined: 2007-05-21, 12:17 UTC

Listary und AHK-Skript

Post by *tuska »

Für Deine Problemstellung gibt es aus meiner Sicht zwei Lösungsmöglichkeiten:

1. Listary: http://www.listary.com/download
1- Unter "Allgemein" bei Standard-Dateimanager den Dropdown-Pfeil drücken und "Total Commander" auswählen und den Pfad anpassen.
1- Einstellungen prüfen u. z.B. "Schnelles umschalten (Aktuellen Ordner im Dateidialogfeld öffnen, beim Wechsel von einem Dateimanager)" anhaken
1- Listary - UAC prompt umgehen - ListaryService.exe: http://discussion.listary.com/t/listary-5-beta-5-00-2334/2408/181

VORTEIL:
Siehe Hinweis von Horst.Epp -> viewtopic.php?p=328481#328481
Da gibt man im Dialogfeld eines Programms einfach Ctrl-G ein
und der Pfad ändert sich auf den aktuellen TC Pfad.
Ausserdem ändert der Pfad sich automatisch, wenn ich im TC das Verzeichnis wechsle.
------------------------------

2. Ein AHK-Skript, welches den Pfad von TC in das geöffnete Dialogfeld von "Speichern unter..." nach Drücken von AltGr + P einfügt.
2- den Code von Hacker findest Du hier: viewtopic.php?p=328476#328476 (muß noch auf AltGr+P angepasst werden)
2- ein Beispiel für einen Button findest Du hier: viewtopic.php?p=328473#328473
2- Das AHK-Skript sollte meines Erachtens im Autostart abgelegt werden

VORTEIL:
Der Pfad von TC kann mit AltGr+P (gleichzeitig drücken) ausgelesen und in das geöffnete Dialogfeld eingefügt werden.
Kleiner Nachteil: Vorher muß im Dialogfeld immer die Taste Pos1 gedrückt werden.

------------------------------

Persönlich habe ich mich damals für Listary entschieden:
viewtopic.php?p=328508#328508
Gruß,
Karl
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Und analog zu Listary gibt's noch FlashFolder; 64-bit Version gibt's auf dieser Seite. Ich nutze sie selbst seit dem Umstieg auf Win7 x64 vor einigen Wochen. An sich nutze ich FlashFolder schon seit vielen Jahren, und daher wollte ich nicht auf ein anderes Programm umsteigen.

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
Gauner
Junior Member
Junior Member
Posts: 59
Joined: 2004-08-06, 12:01 UTC
Location: Berlin

Post by *Gauner »

Hallo,

also Listary begeistert mich für viele Zwecke. Vielen Dank für den Tip!
Deckt auch den Beispiel-Anwendungsfall mit dem "Speichern"-Dialog ab.

Allerdings ist der Öffnen/Speichern-Dialog nur einer meiner Anwendungsfälle für cm_CopyNetNamesToClip oder cm_CopyFullNamesToClip.
Oft gebe ich auch einen Link an Kollegen weiter oder ziehe mir eine ganze Datei-/Ordnerliste aus dem TC ins Notepad++. Oder kopiere einen Pfad als Quellenangabe in eine Calc-Tabelle.
Auch bei Listen nervt es manchmal, wenn das ".."-Verzeichnis nicht mit kopiert wird. Warum an dieser Stelle plötzlich einen Unterschied machen?

Und ehe wir jetzt alle genannten Anwendungsfälle durchgehen und jeweils einen Workaround finden: Die Liste war bestimmt immernoch nicht vollständig.

Und letztendlich sind die Vorschläge alle keine Lösung für Linux (ohne es probiert zu haben). Ansonsten funktioniert der TC dort nämlich sehr gut. Ich arbeite leider auf wechselnden Plattformen und bin nicht fähig/willens, mir für den TC zwei verschiedene Workflows zu schaffen. Jedesmal überlegen, ob ich gerade in Windows bin oder in Linux - hält auf.

Der Befehl cm_CopyNetNamesToClip hat ja seinen Sinn... und interne Befehle sind mir IMMER lieber, als externe Workarounds.

Fragen wir mal so:
Was spricht denn DAFÜR, das Anwenden von cm_CopyNetNamesToClip auf ".." mit Fehlermeldung zu quittieren, statt den Pfad auszugeben? Man stelle sich mal vor, es würde sich wie vorgeschlagen verhalten. Hätten wir dann auch nur ein einziges Posting, was das Verhalten wie es jetzt ist, wünscht? Ich habe da meine Zweifel.
User avatar
tuska
Power Member
Power Member
Posts: 3741
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Gegenfrage:
Was spricht denn DAGEGEN, dass vor dem Anwenden von cm_CopyNetNamesToClip ein einziges Mal die "Rück-Taste" gedrückt werden muß,
um per ".." in das übergeordnete Verzeichnis zu gelangen? [Ein Klick auf Button ".." oder Zeile ".." ist ebenfalls möglich]

Für mich persönlich stellt sich das im Hinblick auf cm_CopyNetNamesToClip, etc. so dar für ".." (übergeordnetes Verzeichnis), uzw.
- Nachteil: 1 Tastendruck (Rück-Taste) oder 1 Klick
- Vorteil: Ich sehe vor mir welche "Namen mit UNC-Pfad kopiert" werden, bzw. kann diese gezielt auswählen
Gauner
Junior Member
Junior Member
Posts: 59
Joined: 2004-08-06, 12:01 UTC
Location: Berlin

Post by *Gauner »

Hey,

also, die Nachteile sind größer als beschrieben:
- es ist nicht nur die Tast Rück, sondern auch nochmal Enter, weil ich wieder rein will ins Verzeichnis, sind schon zwei Tastendrücke.
- Wenn ich die ganze Liste oder eine Auswahl daraus, inklusive des beinhaltenden Ordners haben will, wird der Aufwand noch größer:
Auswahl treffen, cm_CopyNetNamesToClip, in Zielanwendung ablegen, Rücktaste, nochmal cm_CopyNetNamesToClip, Enter, Neue Zwischenablagew wieder in die Zielanwednung.

Merkst Du was? Das ist der helle Wahnsinn.

Zu Deinem Vorteil:
Sehen tust Du das auch so: in der Zeile direkt über dem ".." steht nämlich der zugehörige Pfad mit Namen. Und gezielt auswählen sollst Du ja weiterhion können. Ich kann ja jetzt schon eine beliebige Markeirung INKLUSIVE ".." machen. Nur, dass beim Befehl cm_CopyNetNamesToClip (und verwandten) das ".." aus der Markierung entfernt wird. Und ich verstehe nicht, warum.
Und wo ich es so sage: Ich verstehe nichtmal, warum ich es überhaupt mit markieren kann. Das stützt meine Ansicht: Das ".." ist eigentlich auch nur ein Ordner.

Und mir fehlt immernch das Argument, warum es denn nicht gehen darf. Du wärest in Deinem Vorteil doch gar nicht behindert: Du MUSST ja nicht das ".."-Verzeichnis mit dem Befehl benutzen. Ich fände es auch völlig ok, wenn das momentante Verhalten, bei "Alles markieren" das ".." nicht mit zu markieren" beibehalten wird. Damit wäre m.M. eines niemanden bisherige Arbeitsweise beeinflusst.
User avatar
tuska
Power Member
Power Member
Posts: 3741
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Hi,
Verstehe ich Dich richtig wenn ich folgendes annehme:

Du möchtest in einem TC-Verzeichnis mit Ordnern und Dateien sowohl
a) Ordner
b) Dateien
c) [..] übergeordnetes Verzeichnis

markieren können um danach z.B. den Befehl cm_CopyNetNamesToClip anwenden zu können?

Im Ergebnis würden dann "Namen mit UNC-Pfad kopiert" werden:
a) markierte Ordner (abhängig von Deiner Markierung bzw. alle Ordner)
b) markierte Dateien (abhängig v. Deiner Markierung bzw. alle Dateien)
c) [..] übergeordnetes Verzeichnis: alle Ordner und alle Dateien (die zu diesem Zeitpunkt nicht sichtbar sind)
Gauner
Junior Member
Junior Member
Posts: 59
Joined: 2004-08-06, 12:01 UTC
Location: Berlin

Post by *Gauner »

Nicht ganz.

Mal als Beispiel:
Ich bin im Pfad
c:\ordner1\ordner2

Dort habe ich die Liste:
..
ordner3
ordner4
datei1.txt
datei2.txt

Jetzt markiere ich bspw. den ersten (".."), den dritten ("ordner4") und den fünften Eintrag ("datei2.txt"), mache cm_CopyNetNamesToClip und möchte gern in der Zwischenablage haben:
c:\ordner1\ordner2
c:\ordner1\ordner2\ordner4
c:\ordner1\datei2.txt

...bekomme derzeit aber nur
c:\ordner1\ordner2\ordner4
c:\ordner1\datei2.txt

".." wird einfach aus der Auswahl entfernt. Wenn es der einzige Eintrag war, obendrein noch mit Fehlermeldung, die ich erst bestätigen muss.
User avatar
tuska
Power Member
Power Member
Posts: 3741
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Dein Beispiel ist in sich nicht stimmig:
Ich bin im Pfad c:\ordner1\ordner2
Jetzt markiere ich bspw. ... den fünften Eintrag ("datei2.txt") ... und möchte gern in der Zwischenablage haben:
c:\ordner1\datei2.txt

aber ich glaube jetzt zu wissen, was Du haben möchtest.
C:\Ordner1\Ordner2\
C:\Ordner1\Ordner2\Ordner4\
C:\Ordner1\Ordner2\datei2.txt
Mir persönlich ist noch immer nicht klar, aus welchem Grund Du hier unbedingt zusätzlich C:\Ordner1\Ordner2\ benötigst.

Standardmäßig wird [..] auch nicht mitmarkiert (nur als Beispiel: Kommando cm_ExchangeSelBoth).
D.h., sofern Dein Vorschlag umgesetzt werden würde, müßtest Du [..] jedesmal separat und zusätzlich markieren.

Wie auch immer: Wenn Du erreichen möchtest, dass dieser Vorschlag umgesetzt wird, dann mußt Du erfahrungsgemäß
triftige Gründe bringen, um es zumindest mal auf die Wunschliste vom Author zu schaffen.

Viel Glück!
User avatar
tuska
Power Member
Power Member
Posts: 3741
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Eine angedachte Lösungsmöglichkeit, uzw. ein Button mit Kommando: cm_CopySrcPathToClip,cm_CopyNetNamesToClip

Code: Select all

TOTALCMD#BAR#DATA
cm_CopySrcPathToClip,cm_CopyNetNamesToClip

wcmicons.dll
cm_CopySrcPathToClip,cm_CopyNetNamesToClip |Kopiere Pfad und Namen mit Pfad in Zwischenablage


-1
aufgrund von:
History.txt | 27.08.13 Release Total Commander 8.50 public beta 1 (32/64) | Zeile 1843 ...
17.02.13 Added: Support for multiple internal (cm_xyz) or user-defined (em_xyz) commands on a single button or start menu command:
Separate by a comma, e.g. cm_SelectAll,cm_Copy. Not all commands can be chained this way! (32/64)
fällt dzt. noch unter "Not all commands can be chained this way!" und eine Umsetzung ist leider NICHT möglich, da der
a) Inhalt der Zwischenablage vom ersten Kommando "cm_CopySrcPathToClip" mit dem
b) Inhalt der Zwischenablage vom zweiten Kommando "cm_CopyNetNamesToClip" überschrieben wird.

D.h. im Ergebnis erhält man dzt. nur den Inhalt der Zw.Ablage vom zweiten Kommando (idF "cm_CopyNetNamesToClip").
Wenn man hier die Zwischenablage noch etwas "aufbohren" könnte, dann wäre Dein Problem gelöst (ohne wenn und aber).
User avatar
Stefan2
Power Member
Power Member
Posts: 4133
Joined: 2007-09-13, 22:20 UTC
Location: Europa

NirSoft nircmd: Execute some TC commands, collect clipboard

Post by *Stefan2 »

tuska wrote:...
fällt dzt. noch unter "Not all commands can be chained this way!" und eine Umsetzung ist leider NICHT möglich, da der
a) Inhalt der Zwischenablage vom ersten Kommando "cm_CopySrcPathToClip" mit dem
b) Inhalt der Zwischenablage vom zweiten Kommando "cm_CopyNetNamesToClip" überschrieben wird.

Möglicher Lösungsweg:

Code: Select all

@ECHO OFF
REM Execute some TC commands and collect clipboard content 


SET collectingfile="c:\Temp\TCinfo1.txt"
DEL %collectingfile%


REM Execute TC internal command (See TC folder\TOTALCMD.INC)
REM cm_CopySrcPathToClip=2029;Copy source path to clipboard
nircmd.exe win sendmsg class TTOTAL_CMD 1075, 2029, 0

REM Write (additionally add) clipboard content to file (http://www.nirsoft.net)
nircmd.exe clipboard addfile   %collectingfile%



REM Execute TC internal command (See TC folder\TOTALCMD.INC)
REM cm_CopyNetNamesToClip=2021;Copy names with UNC path
nircmd.exe win sendmsg class TTOTAL_CMD 1075, 2021, 0

REM Write (additionally add) clipboard content to file (http://www.nirsoft.net)
nircmd.exe clipboard addfile   %collectingfile%



REM set new clipboard content from file (http://www.nirsoft.net)
nircmd.exe clipboard readfile  %collectingfile%


DEL %collectingfile%

 



HTH?
User avatar
tuska
Power Member
Power Member
Posts: 3741
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Mmh, bei mir funktioniert das nicht ganz.
- Habe Code kopiert und am Ende jeder Zeile das Leerzeichen entfernt, welches beim Kopieren automatisch angefügt wird
- die Datei mit Dateiendung .BAT abgespeichert
- Vollständigen Pfad zur nircmd.exe eingefügt

Erhalte
- immer nur den Pfad und Dateinamen von den markierten Dateien

Erhalte nicht
- den Inhalt von cm_CopySrcPathToClip
- TCinfo1.txt in C:\Temp (auch nicht wenn ich vor der letzten Zeile ein REM einfüge, d.h. REM DEL %collectingfile%)

Kannst Du bitte nochmals prüfen. Danke!
Post Reply