web-dev-qa-db-fra.com

Comment copier le chemin du fichier dans le presse-papier?

Existe-t-il un moyen de copier le nom de fichier actuellement sélectionné, y compris le chemin du presse-papiers? Idéalement, ce serait à travers le menu contextuel.

Un certain degré de flexibilité serait utile, comme la possibilité de copier uniquement le nom de fichier, le chemin + le nom de fichier, le nom de fichier moins l'extension, etc. Ce n'est pas essentiel, cependant, tant qu'il peut copier le chemin + le nom de fichier.

La solution doit être compatible avec Windows XP, Windows Vista et Windows 7.

41
Charles Roper

Utiliser copyfileNames

ou

Copier les noms de fichiers dans l'utilitaire du presse-papiers

Windows XP n'a aucun moyen de copier une liste de noms de fichiers dans le presse-papiers (ceci a changé dans les versions ultérieures de Windows, en commençant par Vista). Un article de base de connaissances Microsoft suggère écrire un petit * .bat fichier qui exécute la commande dirtte, collecte sa sortie dans un fichier, imprime ce fichier, puis le supprime. Cela peut être pratique parfois, mais il serait plus utile de pouvoir sélectionner une liste de fichiers et avoir les noms de Mettez-les sur le presse-papiers. Ensuite, vous pourriez les coller où que vous en aviez besoin.

Alors voici un utilitaire de faire ça. Vous devez faire un peu de travail vous-même - mais pas beaucoup - pour l'installer. Voici les instructions:

  1. Téléchargez le exécutable . Ce n'est que 20 Ko, il ne faut donc prendre que quelques secondes, même si vous utilisez l'accès à distance. Enregistrez-le partout où vous le souhaitez de résider sur votre système.
  2. Créez un raccourci dans "Aller à"

    1. Allez au dossier "Envoyer à" sous votre nom dans\Windows\Profils de l'Explorateur Windows (ou peut-être XP Accueil met ce répertoire dans le dossier Paramètres, je ne me souviens pas).
    2. Cliquez avec le bouton droit de la souris dans le volet de droite, où sont les noms de fichiers. Sélectionnez "Nouveau | Raccourci".
    3. L'assistant "Créer un raccourci" apparaîtra. Sur la première page, tapez le chemin d'accès à l'exécutable ou utilisez le bouton "Parcourir ..." pour le trouver. Cliquez sur Suivant".
    4. Sur la deuxième page, tapez un nom pour votre nouvelle option de menu. J'ai utilisé des "noms de fichiers dans le presse-papier", mais choisissez tout ce qui aura un sens pour vous. Cliquez sur "Terminer"

C'est ça; Vous l'avez installé. Sélectionnez maintenant un ou plusieurs fichiers, cliquez avec le bouton droit de la souris et déplacez votre pointeur de souris sur "Envoyer à". Un sous-menu apparaîtra qui inclura votre nouvelle commande. Choisissez cette commande et une liste des fichiers que vous avez sélectionnée, triés par ordre croissant, figurera dans le Presse-papiers.

Source: http://members.cox.net/slatteryt/fntoclip.html

5
joe

Commençant par Vista, vous ne pouvez simplement changer de clic droit sur le fichier dans Explorer et sélectionner "Copier comme chemin":

"Copy as path" context menu entry in Windows 7

Cela fonctionne même pour plusieurs fichiers, qui sont mis dans le presse-papiers un par ligne.

Dans Windows 8, ceci est exposé dans le ruban de l'explorateur:

"Copy path" button in the Windows 8 Explorer ribbon on the Home tab

76
Joey

J'utilise le MS 'Envoyer à X' PowerToy disponible dans le cadre de l'ensemble Windows 95 Powertoys ( Link de téléchargement MS ).
[.
[ Vous pouvez supprimer tous les éléments indésirables du menu "Envoyer to" en l'ouvrant dans l'explorateur.

Fonctionne bien sur Windows XP - pas sous Windows 7, mais comme indiqué par Johannes, vous pouvez utiliser "Maj + clic droit".

4
pelms

Voici ma solution open source et libre, si vous considérez Windows Free :)

Créez un fichier de commandes, dites, listfiles.bat. Mettez l'un des éléments suivants dans le fichier:

Nom de fichier

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%

Chemin et noms de fichiers

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%

Créez maintenant un raccourci vers ce fichier dans C:\Documents and Settings\<username>\SendTo répertoire. Allez dans le répertoire Vous souhaitez obtenir une liste de fichiers de. Faites un clic droit sur n'importe quel fichier et choisissez Send To -> Shortcut to listfiles.bat. La liste des fichiers sera écrite à myfilelist.txt ou alors myfileandpathlist.txt Selon votre choix. De toute évidence, rien ne vous empêche d'avoir des raccourcis vers les deux fichiers de lots dans le répertoire SendTo.

Pour la liste complète de dir Type Type dir /? sur la ligne de commande ou visitez ce site Web .

2
Johnny Baloney

J'ai cherché A HOTKEKEY solution. Pour moi, ce sont des œuvres:

Windows 7:

  1. Ctrl-C le fichier
  2. Maintenant, vous êtes capable de coller (Ctrl-V) directement le contenu du presse-papiers à la boîte de dialogue Ouvrir Windows Ouvrir sur le champ Chemin, si vous souhaitez simplement ouvrir le fichier par le chemin complet OR vous pouvez coller (CTRL-V) Le contenu du presse-papiers à la barre d'adresse et après que Ctrl-A, après Ctrl-C, et dans le presse-papiers sera clair.

Windows 7, Windows Vista, Windows XP:

Script Autohotkey, un peu modifié de ici pour Ctrl + Maj + 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

}
2
Mikhail V.

FreeCommander fournit les 3 options suivantes après la mise en surbrillance des fichiers:

  1. Copier le nom complet comme texte
  2. Copier le nom comme texte
  3. Copier le chemin complet comme texte
1

Certains d'entre nous n'ont pas la liberté de télécharger/installer/compiler C++ au travail, alors voici une solution de code sans téléchargement, sans installation et sans installation. J'ai seulement testé cela avec Windows XP SP3:

  • Ouvrez l'invite de commande.
  • Dir le répertoire où les fichiers que vous souhaitez répertorier sont situés.
  • Cliquez avec le bouton droit de la souris sur la fenêtre de l'invite de commande et avez choisi "Sélectionner tout".
  • Appuyez sur la touche [ENTER] (cela copiera efficacement la sortie de l'invite de commande dans votre presse-papiers).
  • Coller le contenu de votre presse-papiers où vous voulez (je vous recommande Excel afin que vous puissiez "envoyer des textes sur des colonnes" et en faire une table appropriée).
1
Frogpower

Voici un script d'autohotkey simple simple, qui copie toutes les arguments de ligne de commande dans le presse-papiers (séparés par les nouvelles lignes). Comme avec d'autres solutions, cela fonctionne via Envoyer au menu , alors mettez le raccourci pour cela à "%USERPROFILE%\SendTo" (ou cela le fera-t-il pour vous si lancé avec des arguments par w/o).

Pour l'exécuter, coller au bloc-notes et économiser sur "%USERPROFILE%\SendTo\CopyToClipboard.ahk". Vous aurez également besoin Autohotkey 1.1 ( DL DL ) installé, c'est 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
LogicDaemon

Pour toute personne utilise toujours Windows XP (comme moi, forcé au travail), la procédure suivante fonctionne pour copier un seul nom de fichier sans logiciel supplémentaire:

  1. Cliquez avec le bouton droit sur Fichier souhaité dans la liste Explorateur Windows

  2. Cliquez sur "Propriétés" dans le menu déroulant

  3. Mettez en surbrillance le nom de fichier dans la case en haut de l'onglet "Général"

  4. Ctrl-C pour copier le nom de fichier puis fermer la fenêtre "Propriétés"

  5. Ctrl-V pour coller le nom de fichier où vous le voulez.

1
rrindc

J'aime ClipboardPath par Stefan Bertels. La plupart des autres outils cachent-le dans l'envoi au sous-menu, que j'utilise rarement; ClipboardPath positionne la position supérieure du menu contextuel et si vous souhaitez que le chemin réseau complet (très utile), il suffit de maintenir le contrôle avant de sélectionner Copier chemin ..

0
Alistair Knock