Venez de créer ce VBS.
If WScript.arguments.count > 0 Then
Dim WshShell: Set WshShell = WScript.CreateObject("Wscript.Shell")
strPath = "file:///" & Wscript.Arguments(0)
strPath = Replace(strPath,"\","/")
strPath = Replace(strPath," ","%20")
sCmd = "%comspec% /c
``Enregistrez-le en tant que fichier .VBS. Faites glisser et déposez un fichier sur le VBScript et il copie l'URI du fichier dans le presse-papiers. Vous pouvez l'implémenter dans le menu clic droit si nécessaire.
Il copie le nom du fichier en mémoire, inverse les barres obliques, remplace les espaces par "%20", et ajoute "file:///" au début. C'est un script basique qui prend en charge uniquement un nom de fichier / argument. Vous pouvez le modifier selon vos besoins.
Ajouter le script à votre dossier Envoyer vers
Vous pouvez placer un raccourci du script dans votre dossier Envoyer vers. Appuyez sur WinKey + R, tapez shell:sendto
et appuyez sur ENTER. Créez un raccourci vers le script dans le dossier Envoyer vers et nommez-le en conséquence. (par exemple, Copier l'URI du fichier
)
Maintenant, faites un clic droit sur un fichier, cliquez sur Envoyer vers et cliquez sur Copier l'URI du fichier
. Le chemin du fichier sera copié dans le presse-papiers, au format URI comme ci-dessous.
file:///C:/Users/jack/desktop/list-of-items.txt``
0 votes
Merci! Une des réponses mentionne FileMenu Tools qui a cette fonctionnalité mais qui conserve les espaces dans la chaîne copiée, ce qui en fait une URI invalide. :-(
0 votes
Il ne s'agit pas d'un doublon de « Copier le nom de fichier dans le presse-papiers » car je veux un URI de fichier et non le nom du chemin.
0 votes
Pour clarifier : Je cherche à obtenir "file:///c:/Temp/foo%20bar.txt" et non pas "C:\Temp\foo bar.txt" ou "foo bar.txt" ou "C:\Temp".