TC不允许按ctrl+左键拖动文件在当前文件夹创建副本
用AutoHotkey自己解决,实现点选文件按capslock+d 生成一份副本。
简版:
CapsLock & d::
clipboard = ; 清空剪贴板
Send, ^c
ClipWait, 2
if ErrorLevel
{
MsgBox, The attempt to copy text onto the clipboard failed.
return
}
Send, ^v
return
;作者:Quant
;2017年1月11日16:23:04
;功能:给文件名加上版本号以备份之
;使用说明:
;1、在资源管理器或者TC中,点选1个或多个文件
;2、按capslock+d生成一份文件副本,生成规则同Explorer资源管理器
#Persistent
#SingleInstance force
CapsLock & d::
;热键为TC增加生成文件副本
sName:=GetFilePath()
tName :=GetFolder(sName) . GetNameNoExt(sName) . " - " . "副本" . GetExt(sName)
Loop
{
FileCopy,%sName%,%tName%
tName :=GetFolder(sName) . GetNameNoExt(sName) . " - " . "副本 (" . A_Index . ")" . GetExt(sName)
}until !ErrorLevel
return
GetFilePath()
{
IfWinActive ahk_class CabinetWClass
{
clipboard = ; 清空剪贴板
Send, ^c
ClipWait, 2
if ErrorLevel
{
MsgBox, The attempt to copy text onto the clipboard failed.
return
}
Clipboard=%clipboard%
filePath= %clipboard%
}
IfWinActive ahk_class TTOTAL_CMD
{
SendTCCommand(2018) ;cm_CopyFullNamesToClip
filePath=%clipboard%
}
return filePath
}
SendTCCommand(CommandID)
{
SendMessage 1075, %CommandID%, 0, , ahk_class TTOTAL_CMD
}
GetFolder(sName)
{
SplitPath, sName,, o
return % o . "\"
}
GetFilename(sName)
{
SplitPath, sName, o
return o
}
GetNameNoExt(sName)
{
SplitPath,sName,,,,o
return o
}
GetExt(sName)
{
SplitPath,sName,,,o
return % "." . o
}