Мой скрипт AutoIt работал до тех пор, пока я использовал его через командную строку. Там я мог бы использовать $CmdLine[1]
и передать путь в качестве аргумента. Теперь я пытаюсь преобразовать скрипт в новый метод, чтобы избежать аргументов командной строки.
Вы открываете окно проводника и выбираете файл, например, C:\test.txt
. После этого вы запускаете функцию AutoIt с помощью CTRL+WIN+C. Сценарий должен посмотреть, какой файл выбран в активном окне проводника, получить путь C:\test.txt
и назначить его переменной $file
.
Это моя незавершенная работа, в которой я застрял.
Строка 5 $CmdLine[1]
должна быть изменена на секретную функцию, которую я не знаю.
;Assign key combination "CTRL-WIN-C" to function "copyUNC"
HotKeySet("^#c", "CopyUNC")
;function to copy UNC path of selected Windows Explorer file/folder to clipboard
func CopyUNC()
$file = FileGetLongName($CmdLine[1]) ;THIS LINE NEEDS TO BE CHANGED
$drive = StringLeft($file, 2)
$UNCdrive = DriveMapGet($drive)
If $UNCdrive = "" Then
$UNCfile = $file
else
$UNCfile = $UNCdrive & StringTrimLeft($file, 2)
endif
ClipPut($UNCfile)
endfunc
;necessary loop so AutoIt script stays active and in Tray
While 1
Sleep(100)
WEnd
Вопрос. Как получить путь к выбранному файлу/папке из проводника Windows в AutoIt v3.3.8.1?
Примечание №1. Я не хочу использовать приемы реестра и щелчка правой кнопкой мыши для передачи аргумента
Примечание №2. Если выбрано несколько файлов, просто передайте первый файл. Не усложняйте вещи