Просто придумал этот 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