Создайте URI "file: //" в проводнике Windows

1054
Robert Klemme

Я ищу способ получить правильный файл: / URI из Windows Explorer. В основном я хотел бы иметь пункт контекстного меню, который говорит «скопировать URI файла в буфер обмена». Существует ли что-то подобное?

Это не дубликат «Копировать имя файла в буфер обмена», так как я хочу URI файла, а не имя пути.

Чтобы уточнить: я ищу получить «file: /// c: /Temp/foo%20bar.txt» и ни «C: \ Temp \ foo bar.txt», ни «foo bar.txt», ни «C: \» Temp».

2
Спасибо! В одном из ответов упоминается [FileMenu Tools] (http://www.lopesoft.com/en/fmtools/info.html), в котором есть эта функциональность, но он сохраняет пробелы в скопированной строке, что делает его недействительным URI. :-( Robert Klemme 13 лет назад 0
Это не дубликат «Копировать имя файла в буфер обмена», так как я хочу URI файла, а не имя пути. Robert Klemme 13 лет назад 0
Чтобы уточнить: я ищу получить «file: /// c: /Temp/foo%20bar.txt» и ни «C: \ Temp \ foo bar.txt», ни «foo bar.txt», ни «C: \» Temp». Robert Klemme 13 лет назад 0

1 ответ на вопрос

2
Win32Guy

Просто придумал этот 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<nul (set/p anyvariable=" & Chr(34) & strPath & Chr(34) & ")|clip.exe" WshShell.Run sCmd,0,0 Set WshShell = Nothing End If 

Сохраните его как файл .VBS. Перетащите файл в VBScript, и он скопирует URI файла в буфер обмена. Вы можете реализовать его в контекстном меню, если это необходимо.

Он копирует имя файла в память, восстанавливает косую черту, заменяет пробелы на «% 20» и добавляет «file: ///» в начале. Это базовый скрипт, который поддерживает только одно имя файла / аргумент. Вы можете изменить его по мере необходимости.

Добавьте скрипт в папку «Отправить»

Вы можете поместить ярлык сценария в папку «Отправить». Нажмите WinKey+ R, введите shell:sendtoи нажмите ENTER. Создайте ярлык для скрипта в папке «Отправить» и назовите его соответствующим образом. (например. Copy File URI)

Теперь щелкните правой кнопкой мыши файл, нажмите «Отправить» и нажмите Copy File URI. Путь к файлу будет скопирован в буфер обмена в формате URI, как показано ниже.

file:///C:/Users/jack/desktop/list-of-items.txt