Page 1 of 1

Vollständigen Pfad des ausgewählten Dateis herausfinden

Posted: 10 Jun 2018, 13:36
by songoku
Hallo,
wie kann ich in Windows Explorer, den vollständigen Pfad des aufgewählten Datei ermitteln?
Danke und Gruß

Re: Vollständigen Pfad des ausgewählten Dateis herausfinden

Posted: 11 Jun 2018, 02:13
by Ragnar
UMSCHALT+Rechtsklick auf die Datei, um das erweiterte Kontextmenü zu öffnen, und dann "Als Pfad kopieren" auswählen.

Re: Vollständigen Pfad des ausgewählten Dateis herausfinden  Topic is solved

Posted: 11 Jun 2018, 08:19
by gregster
Autohotkey packt den vollständigen Pfad in die Clipboard-Variable, wenn man Strg+c sendet:

Code: Select all

a::				; drücke a
clipboard :=""
Send ^c
Clipwait, 2
msgbox % clipboard
return

Re: Vollständigen Pfad des ausgewählten Dateis herausfinden

Posted: 11 Jun 2018, 14:22
by songoku
@gregster Danke, hast mich ein Stück weiter gebracht.
Nur, damit ich den Script richtig deute,

clipboard :="" = Leert die Zwischenablage
Send ^c = Sendet STRG+C
Clipwait, 2 = Wartet 2 sek.

Re: Vollständigen Pfad des ausgewählten Dateis herausfinden

Posted: 11 Jun 2018, 15:07
by gregster
Ja, genauer gesagt, Clipwait wartet bis zu 2 Sekunden (die Zeit ist hier im Grunde willkürlich gewählt) auf die Befüllung der Zwischenablage. Der Befehl Clipwait an sich soll im Grunde sicherstellen, dass Clipboard (bereits) etwas enthält, wenn die msgbox (oder eine andere diese Informationen verarbeitende Zeile) die Variable Clipboard aufruft.

Das heißt, etwaige Verzögerungen bei der Verarbeitung von Strg+c werden in der Regel abgefangen (z. B. wenn, man gar keine Datei markiert hat, wenn die CPU Schluckauf hat oder ggf. wenn man eine große Menge Text o.a. kopieren will - du wirst feststellen, dass obiges Skript auch erlaubt, mehr als einen Dateipfad in einem Arbeitsschritt auszulesen, nämlich indem man mehr als eine Datei markiert; die erste Code Box in der Clipboard-Hilfe zeigt, wie man dann die einzelnen Pfade verarbeiten kann), aber es wird eben nicht unbegrenzt gewartet.

Nach 2 Sekunden ohne Inhalt in der Zwischenablage erfolgt ein "Timeout" und der Code läuft trotzdem weiter - und würde in diesem Fall wahrscheinlich eine leere msgbox zeigen (, wenn nicht vorher irgendein anderer Vorgang, z. B. ein Timer, irgendeinen anderen Text in die Zwischenablage gespeichert hat.) - eine Fehlermeldung wäre hier eine Alternative. Ohne diesen Zeit-Parameter wartet das Skript hier unbegrenzt lange, bis Clipboard befüllt wird.