Мой сценарий AutoIt работал до тех пор, пока я использовал его через командную строку. Там я мог бы использовать $CmdLine[1]
и передать путь в качестве аргумента. Теперь я пытаюсь преобразовать скрипт в новый метод, чтобы избежать аргументов командной строки.Получить путь к выбранному файлу проводника Windows в AutoIt
Вы открываете окно проводника и выбираете файл, например 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
Q: Как получить путь выбранного файла/папки из проводника Windows в AutoIt v3.3.8.1?
Примечание # 1: Я не хочу использовать реестра и правой кнопкой мыши уловок, чтобы передать этот аргумент
Note # 2: Если выбрано несколько файлов, просто пройти первый файл. Не перегружайте вещи
В качестве альтернативы, вы могли бы сделать вашу программу отозвана из «отправки в» контекстном меню. Чтобы вы щелкнули правой кнопкой мыши по файлу, выберите «Отправить», а затем ваше приложение. Файл будет передан вашему приложению как cmdline [1] – Colyn1337
http://www.autoitscript.com/forum/topic/89833-windows-explorer-current-folder/ – crazypotato