Wie kopiere ich den Dateipfad in die Zwischenablage?


40

Gibt es eine Möglichkeit, den aktuell ausgewählten Dateinamen einschließlich des Pfads in die Zwischenablage zu kopieren? Im Idealfall erfolgt dies über das Kontextmenü.

Ein gewisses Maß an Flexibilität wäre hilfreich, beispielsweise die Möglichkeit, nur den Dateinamen, den Pfad + den Dateinamen, den Dateinamen minus die Erweiterung usw. zu kopieren. Dies ist jedoch nicht unbedingt erforderlich, solange der Pfad + der Dateiname kopiert werden kann.

Die Lösung muss mit Windows XP, Windows Vista und Windows 7 kompatibel sein.


6
In Vista und höher ist dies bereits integriert: Halten Sie die Umschalttaste gedrückt und öffnen Sie das Kontextmenü für ausgewählte Dateien. Es wird einen Artikel mit dem Namen " Als Pfad kopieren " geben
LogicDaemon

Charles, würden Sie erwägen, die akzeptierte Antwort jetzt zu ändern, da dies in Windows integriert ist? Dies wird anderen helfen, die beste Antwort leichter zu finden.
Simon East

Ich habe nicht gewählt, um diese Frage erneut zu öffnen, da die akzeptierte Antwort nicht geändert wird, da sie nur in Windows Vista und höher integriert ist. Ich sehe viel zu viel Gelegenheit, diese Frage zu missbrauchen. Zumindest wenn es wieder geöffnet werden sollte, sollte es geschützt werden, um "Ich auch" -Antworten zu vermeiden.
Ramhound

1
@SimonEast Die Frage besagt, dass sie mit XP kompatibel sein muss, daher ist die akzeptierte Antwort immer noch die am besten geeignete. Die zweite Antwort hat mehr Stimmen und steht direkt unter der akzeptierten Antwort, was ein vernünftiger Kompromiss zu sein scheint. So funktioniert das Q / A-System von StackExchange.
Charles Roper

Antworten:


5

Verwenden Sie CopyFilenames

oder

Kopieren Sie die Dateinamen in das Zwischenablage-Dienstprogramm

Windows XP hat keine Möglichkeit, eine Liste mit Dateinamen in die Zwischenablage zu kopieren (dies hat sich in späteren Versionen von Windows geändert, beginnend mit Vista). In einem Microsoft Knowledge Base-Artikel wird vorgeschlagen, eine kleine * .bat-Datei zu schreiben, in der der Befehl DIR ausgeführt wird, die Ausgabe in einer Datei gesammelt, diese Datei gedruckt und anschließend gelöscht wird. Dies kann manchmal praktisch sein, aber es wäre sinnvoller, wenn Sie eine Liste von Dateien auswählen und deren Namen in die Zwischenablage kopieren könnten. Dann können Sie sie einfügen, wo immer Sie sie benötigen.

Hier ist ein Dienstprogramm, um das zu tun. Sie müssen selbst ein wenig arbeiten, aber nicht viel, um es zu installieren. Hier sind die Anweisungen:

  1. Laden Sie die ausführbare Datei herunter . Es ist nur 20 KB groß, daher sollte es auch bei einem DFÜ-Zugang nur Sekunden dauern. Speichern Sie es an einem beliebigen Ort auf Ihrem System.
  2. Erstellen Sie eine Verknüpfung in "Gehe zu"

    1. Wechseln Sie zu dem Ordner "Senden an" unter Ihrem Namen in "\ Windows \ Profiles" im Windows Explorer (oder XP Home legt dieses Verzeichnis möglicherweise unter dem Ordner "Einstellungen" ab, an den ich mich nicht erinnern kann).
    2. Klicken Sie mit der rechten Maustaste in den rechten Bereich, in dem sich die Dateinamen befinden. Wählen Sie "Neu | Verknüpfung".
    3. Der Assistent "Verknüpfung erstellen" wird angezeigt. Geben Sie auf der ersten Seite den Pfad zur ausführbaren Datei ein oder verwenden Sie die Schaltfläche "Durchsuchen ...", um sie zu finden. Weiter klicken".
    4. Geben Sie auf der zweiten Seite einen Namen für Ihre neue Menüoption ein. Ich habe "Dateinamen in die Zwischenablage kopieren" verwendet, aber ich wähle aus, was für Sie von Bedeutung ist. Klicken Sie auf "Fertig stellen"

Das ist es; Du hast es installiert. Wählen Sie nun eine oder mehrere Dateien aus, klicken Sie mit der rechten Maustaste und bewegen Sie den Mauszeiger auf "Senden an". Es erscheint ein Untermenü, das Ihren neuen Befehl enthält. Wählen Sie diesen Befehl aus, und eine Liste der ausgewählten Dateien wird in aufsteigender Reihenfolge in der Zwischenablage angezeigt.

Quelle: http://members.cox.net/slatteryt/FNtoClip.html


2
Schwerwiegender Nachteil dieses Programms: Es kann keine Unicode-Dateinamen verarbeiten. Die Verwendung einer kleinen Batchdatei, die nur Befehlszeilenargumente an clip.exe(in neueren Windows-Versionen enthalten, zuvor im Resource Kit verfügbar) weiterleitet, sollte hier möglicherweise besser funktionieren (vorausgesetzt, Sie verwenden TrueType-Schriftarten für die Konsole).
Joey

75

Beginnend mit Vista können Sie einfach Shift + Rechtsklick auf die Datei im Explorer und wählen Sie "Als Pfad kopieren":

        Kontextmenüeintrag "Als Pfad kopieren" in Windows 7

Dies funktioniert sogar für mehrere Dateien, die zeilenweise in die Zwischenablage verschoben werden.

In Windows 8 wird dies im Explorer-Menüband angezeigt:

        Schaltfläche "Pfad kopieren" im Windows 8 Explorer-Menüband auf der Registerkarte "Startseite"


6
Super, das sollte die akzeptierte Antwort sein. Keine Software erforderlich!
HaggleLad

5
Hervorragend, ich frage mich, wie ich Windows so lange nutzen könnte und kenne dieses nicht. Bonus für die Arbeit an mehreren Dateien.
Bratch

2
@ HaggleLad der Grund, warum dies nicht die akzeptierte Antwort ist, ist wegen dieser Zeile in der ursprünglichen Frage: "Muss mit XP, Vista und Win7 kompatibel sein".
Charles Roper

4

Ich verwende das MS 'Send to X' PowerToy, das im Windows 95 PowerToys-Set enthalten ist ( MS-Download-Link ).
Dies fügt "Zwischenablage als Name" (sowie "Zwischenablage als Inhalt" und einige andere Optionen) zum Kontextmenü "Senden an" hinzu.
Die einfachste Installationsmethode besteht darin, die heruntergeladene Datei W95powertoy.exe mit einem Zip-Dienstprogramm zu extrahieren. Klicken Sie mit der rechten Maustaste auf "SENDTOX.INF" und wählen Sie "Installieren". Sie können unerwünschte Elemente aus dem Menü "Senden an" entfernen, indem Sie es im Explorer öffnen.

Funktioniert gut unter Windows XP - nicht unter Windows 7, aber wie von Johannes bemerkt, können Sie stattdessen 'Umschalt + Rechtsklick' verwenden.


3

Ich benutze Ninotech Path Copy. Ihre Website ist tot, aber sie kann hier gefunden werden .

Es gibt 14 verschiedene Möglichkeiten zum Kopieren von Dateinamen, von denen Sie 5 vollständig anpassen können.


+1 für PathCopy; Dieses Tool ist besonders nützlich, wenn Sie beispielsweise den Pfad in Schrägstriche umwandeln müssen oder wenn Sie nur den Pfad ohne Dateinamen benötigen.
Yalestar

Exzellent, genau das, wonach ich gesucht habe. Sie bieten eine 64-Bit-DLL an. Ich nehme an, sie funktioniert unter Win7 (wird zu Hause ausprobiert ...). Die Anpassungsmöglichkeiten scheinen mächtig (einschließlich einer Such- / Ersetzungsfunktion!).
PhiLho

2

Ich habe nach einer Hotkey- Lösung gesucht . Für mich sind das Werke:

Windows 7 :

  1. Ctrl-C die Datei
  2. Jetzt können Sie den Inhalt der Zwischenablage direkt in das Windows-Dialogfeld "Öffnen" in das Feld "Pfad" einfügen (Strg-V), wenn Sie die Datei nur über den vollständigen Pfad öffnen möchten. ODER Sie können den Inhalt der Zwischenablage in das Feld "Pfad" einfügen (Strg-V) Die Adressleiste und danach Strg-A, Strg-C und in der Zwischenablage wird der vollständige Pfad sein

Windows 7, Windows Vista, Windows XP :

AutoHotkey-Skript, etwas modifiziert von hier für Strg + Umschalt + C

^+c::
Clipboard := gst()

if !IsClipEmpty

ClipWait, 0.5, 1


gst() {   ; GetSelectedText or FilePath in Windows Explorer  by Learning one 

IsClipEmpty := (Clipboard = "") ? 1 : 0

if !IsClipEmpty {

    ClipboardBackup := ClipboardAll

    While !(Clipboard = "") {

        Clipboard =

        Sleep, 10

    }

}

Send, ^c

ClipWait, 0.1

ToReturn := Clipboard, Clipboard := ClipboardBackup

if !IsClipEmpty

ClipWait, 0.5, 1

Return ToReturn

}

1

Dies ist eines der epischsten Win-Utilitys.
Chris Marisic

1
Anonymer Redakteur sagt: > Beim Herunterladen von Version 2.6 behauptet Antivirus, dass diese Datei einen Trojaner / Virus enthält , Version 2.5 scheint in Ordnung zu sein.
Slhck


1

Einige von uns haben nicht die Freiheit, C ++ bei der Arbeit herunterzuladen / zu installieren / zu kompilieren. Ich habe dies nur mit Windows XP SP3 getestet:

  • Öffnen Sie die Eingabeaufforderung.
  • Richte das Verzeichnis ein, in dem sich die Dateien befinden, die du auflisten möchtest.
  • Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Fenster der Eingabeaufforderung und wählen Sie "Alles auswählen".
  • Drücken Sie die [Eingabetaste] (dies kopiert die Ausgabe der Eingabeaufforderung effektiv in Ihre Zwischenablage).
  • Fügen Sie den Inhalt Ihrer Zwischenablage an der gewünschten Stelle ein (ich empfehle Excel, damit Sie "Text in Spalten" schreiben und daraus eine richtige Tabelle machen können).

1

StExBar bietet Ihnen einige Flexibilität und Anpassungsmöglichkeiten beim Kopieren von Dateinamen, Pfaden usw. sowie verschiedene zusätzliche Funktionen.

Bildbeschreibung hier eingeben


1

Für alle Benutzer von Windows XP (wie ich, die zur Arbeit gezwungen wurden) funktioniert das folgende Verfahren, um einen einzelnen Dateinamen ohne zusätzliche Software zu kopieren:

  1. Klicken Sie mit der rechten Maustaste auf die gewünschte Datei in der Windows Explorer-Liste

  2. Klicken Sie im Dropdown-Menü auf "Eigenschaften"

  3. Markieren Sie den Dateinamen im Feld oben auf der Registerkarte "Allgemein"

  4. STRG-C zum Kopieren des Dateinamens und Schließen des Fensters "Eigenschaften"

  5. STRG-V, um den Dateinamen an der gewünschten Stelle einzufügen.


1

FreeCommander bietet nach dem Hervorheben von Dateien die folgenden drei Optionen:

  1. Kopieren Sie den vollständigen Namen als Text
  2. Kopieren Sie den Namen als Text
  3. Kopieren Sie den vollständigen Pfad als Text

1

Hier ist meine Open-Source-Lösung und auch kostenlos, wenn Sie Windows für kostenlos halten :)

Erstellen Sie beispielsweise eine Batch-Datei listfiles.bat. Fügen Sie eine der folgenden Angaben in die Datei ein:

DATEINAMEN

set mylist=myfilelist.txt
set tempfile=tmp.txt
set diroptions=/a /b

set fullpath=%1
for %%i in (%fullpath%) do set path=%%~dpi
cd %path%

if exist %mylist% del %mylist%
if exist %tempfile% del %tempfile%

dir %diroptions% > "%path%%mylist%"

for /f "usebackq delims=" %%a in ("%mylist%") do (
if not "%%a"=="%mylist%" (
echo %%a >> %tempfile%
)
)

del %mylist%
ren %tempfile% %mylist%

PFAD UND DATEINAMEN

set mylist=myfileandpathlist.txt
set tempfile=tmp.txt
set diroptions=/a /b /s

set fullpath=%1
for %%i in (%fullpath%) do set path=%%~dpi
cd %path%

if exist %mylist% del %mylist%
if exist %tempfile% del %tempfile%

dir %diroptions% > "%path%%mylist%"

for /f "usebackq delims=" %%a in ("%mylist%") do (
if not "%%a"=="%path%%mylist%" (
echo %%a >> %tempfile%
)
)

del %mylist%
ren %tempfile% %mylist%

Erstellen Sie nun eine Verknüpfung zu dieser Datei im C:\Documents and Settings\<username>\SendToVerzeichnis. Wechseln Sie in das Verzeichnis, aus dem Sie eine Liste der Dateien abrufen möchten. Klicken Sie mit der rechten Maustaste auf eine beliebige Datei und wählen Sie Send To -> Shortcut to listfiles.bat. Die Liste der Dateien wird in myfilelist.txtoder myfileandpathlist.txtabhängig von Ihrer Wahl geschrieben. Offensichtlich hindert nichts Sie daran, Verknüpfungen zu beiden Batch-Dateien im SendToVerzeichnis zu haben.

Die vollständige Liste der dirSchalter finden Sie dir /?in der Befehlszeile oder auf dieser Website .


1

Hier ist ein einfaches AutoHotkey-Skript, das alle Befehlszeilenargumente in die Zwischenablage kopiert (durch Zeilenumbrüche getrennt). Wie bei anderen Lösungen funktioniert es über das Menü " Senden an". Setzen Sie eine Verknüpfung für dieses Menü "%USERPROFILE%\SendTo"(oder es übernimmt diese Funktion für Sie, wenn Sie keine Argumente starten).

Um es auszuführen, fügen Sie es in den Editor ein und speichern es in "%USERPROFILE%\SendTo\CopyToClipboard.ahk". Außerdem müssen Sie AutoHotkey 1.1 ( direct dl ) installiert haben, es ist FOSS.

#NoEnv
#NoTrayIcon
#SingleInstance force

If %0%
{
    Loop %0%  ; For each parameter:
        AllArguments .= ( A_Index > 0 ? "`r`n" : "") . %A_Index%
    ;MsgBox %AllArguments%
    Clipboard = %AllArguments%
    ToolTip Copied paths: %0%
} Else {
    MsgBox 68, %A_ScriptName%, This script copies command line arguments to clipboard. Intended to be used as Send To target`, so shourtcut to one should be in Send To.`n`nCreate the shourtcut?
    IfMsgBox Yes
    {
        EnvGet UserProfile, UserProfile
        FileCreateShortcut %A_AhkPath%, %UserProfile%\SendTo\Names to Clipboard.lnk,, %A_ScriptFullPath%, Copies file names (with paths) to clipboard.
    }
}

Sleep 1500

1

Arbeitete korrekt in Windows 7.

Gesamte Dateiliste kopieren

Schritt 1 Halten Sie die Umschalttaste gedrückt, klicken Sie mit der rechten Maustaste auf den Ordner, der eine Liste von Dateien enthält, und wählen Sie "Befehlsfenster hier öffnen".

Schritt 2 Geben Sie "dir / b> filenames.txt" (ohne Anführungszeichen) in das Eingabeaufforderungsfenster ein. Drücken Sie Enter."

Schritt 3 Doppelklicken Sie auf die Datei "filenames.txt" des zuvor ausgewählten Ordners, um eine Liste der Dateinamen in diesem Ordner anzuzeigen.

Schritt 4 Drücken Sie "Strg-A" und dann "Strg-C", um die Liste der Dateinamen in Ihre Zwischenablage zu kopieren.

Tipp Wenn Sie zum Einfügen der Dateinamen bereit sind, klicken Sie im entsprechenden Programm auf die Einfügeposition und drücken Sie "Strg-V".


0

Mir gefällt ClipboardPath von Stefan Bertels. Die meisten anderen Tools verbergen dies im Untermenü Senden an, das ich selten verwende. ClipboardPath positioniert es oben im Kontextmenü. Wenn Sie den vollständigen Netzwerkpfad anzeigen möchten (sehr nützlich), halten Sie die Strg-Taste gedrückt, bevor Sie Pfad kopieren auswählen.


0

Ich habe eine kleine kostenlose / OpenSource-.NET-App namens fnamecopy geschrieben , um genau dies zu tun. Es ist sehr einfach und hat keine Rechtsklick-Integration. Sie ziehen einfach die Datei (en) / Ordner, für die Sie den Pfad haben möchten, in ein kleines Fenster und wählen dann die aus, für die Sie den Pfad haben möchten. Es ist sehr nackt, aber es erledigt die Arbeit für mich.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.