1
只要我通过命令行使用它,我的AutoIt脚本就可以工作。在那里,我可以使用$CmdLine[1]
并传递一个路径作为参数。现在我尝试将脚本转换为避免命令行参数的新方法。在AutoIt中获取所选Windows资源管理器文件的路径
您打开浏览器窗口并选择一个文件,例如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:如果选择多个文件只是传递的第一个文件。不要过分复杂的东西
检索选中的项目作为替代的功能,你可以让你的程序从“发送到”上下文菜单调用。所以你要点击文件,选择发送到,然后是你的应用程序。该文件将作为cmdline传递给您的应用程序[1] – Colyn1337
http://www.autoitscript.com/forum/topic/89833-windows-explorer-current-folder/ – crazypotato