新软推荐:DragonWindows 快速拖动当前编辑的文件到IM等对话框中

DragonWindows : 从 Windows 命令行拖拽文件

DargonWindows是可以帮助用户从命令行中拖拽文件的一个小工具,对标Linux下的软件dragon(GitHub - mwh/dragon: Drag and drop source/target for X)。
什么叫从命令行中拖拽文件呢?就是在命令行窗口中运行

DragonWindows.exe a.txt b.py C:\c.png

就可以弹出一个对话框,将abc三个文件显示在列表中,然后用户就可以选择列表中的任意个文件拖拽到QQ,微信,outlook等支持文件拖入的IM,邮件等应用中。这就省得跳出当前的工作界面,还要回到文件资源管理器里去找到对应文件再执行拖动操作。
作者知乎专栏对DragonWindows的介绍:

这个小工具是SleepBag 基于C#语言开发的开源软件 (GitHub - SleepyBag/dragon-win: Drag and drop files from CLI, like dragon, but for windows)。感兴趣的可以加星,fork。

推荐者结合DragonWindows用Autohotkey 写了个小脚本,用于一键实现当前正在编辑的MsOffice文件(Word, Excel, PPT) 快速拖拽。
同时,让默认弹出位置位于当前鼠标位置,不用动鼠标直接拖拽,榨干最后一点效率 :-D。欢迎使用。
image

F2::
DragonWinPath:="YourPathHere\DragonWindows.exe"
If WinActive("ahk_exe WINWORD.EXE")	
	ActiveFileFullName:=ComObjActive("Word.Application").ActiveDocument.FullName
Else If WinActive("ahk_exe EXCEL.EXE")	
	ActiveFileFullName:= ComObjActive("Excel.Application").ActiveWorkbook.FullName
Else If WinActive("ahk_exe POWERPNT.EXE")
    ActiveFileFullName:=ComObjActive("PowerPoint.Application").ActivePresentation.FullName

DragWinCMD:=DragonWinPath . " " . chr(34) . ActiveFileFullName . chr(34)
Run, %DragWinCMD%
WinWaitActive, ahk_exe DragonWindows.exe, , 2
if ErrorLevel
{
    return
}
else
{
    ; show DragonWindows at the cursor position
    CoordMode, Mouse, Screen
    MouseGetPos, xpos, ypos 
    xpos:=xpos-80
    ypos:=ypos-60
    WinMove, ahk_exe DragonWindows.exe, , %xpos%, %ypos%
}
return

1 个赞

这个棒!

试了一下,竟然不支持通配符和正则表达式吗……?
那我干嘛不直接在资源管理器的界面里直接选?就为了少那么一个步骤?

可以fork了按需改啊。

我想增加个在鼠标位置弹出的开关,并没成功,WPF里添加Forms的引用总是报错。还是通过ahk搞定的。