获取选中文件的文件名

通过剪切板

选中文件的时候,Ctrl c复制的时候,剪切板内存在但前文件的完整路径

通过对完整的路径截取,来获取到需要的文件名

文件名的截取,可以通过正则表达式处理,也可以通过ahk的命令SplitPath来截取

  • 效果

获取选中文件的文件名

  • 正则表达式

F2::
Clipboard := ""
Send, ^c
ClipWait, 1
FileName := RegExReplace(Clipboard,"`am)(^.+?)([^\\]+?)\.[^.]+$","$2")
MsgBox % "复制后剪切板内内容:`n" Clipboard "`n截取后的文件名:`n" FileName
Return
  • Splitpath

F2::
Clipboard := ""
Send, ^c
ClipWait, 1
loop, Parse, Clipboard, `n, `r
{
	SplitPath, % A_LoopField, , , , xName
	FileName .= xName "`n"
}
FileName := Trim(FileName,"`n")
MsgBox % FileName
Return

给TA捐赠
共{{data.count}}人
人已捐赠
其他案例

[第十七关]如何定时清理指定程序占用内存或键盘鼠标指定时间内无操作执行指定操作?

2022-4-9 11:09:38

其他

通过域名运行群晖网络存储服务器中的AutoHotkey脚本 2022年4月10日

2022-4-10 16:13:39

6 条回复 A文章作者 M管理员
  1. Antony

    补到正则里面?
    这个小白应该更容易理解
    RegExReplace(StrSplit(path,””).Pop(),”..*$”,””)

    • Antony

      RegExReplace(StrSplit(path,”\”).Pop(),”..*$”,””)
      反斜杠被吃了,尴尬

    • 僵尸牌木乃伊

      回复区代码是有转义的问题
      这个也不错
      我上面就是写的比较直接,省的往里套东西了
      你这个 \..* 要改改 \.[^.]+$
      要不然文件名本身带点的就删了 比如
      AutoHotkey_1.1.30.10.exe
      就剩下1了

  2. random
    random给您打赏了¥2
个人中心
购物车
优惠劵
有新私信 私信列表
搜索