获取选中文件的文件名

通过剪切板

选中文件的时候,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}}人
人已捐赠
AHKV1代码示例

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

2022-4-9 11:09:38

AHKV1代码示例其他类社区推荐

[第十六关]用Random写一个多功能获取批量字符串的方法

2022-4-10 19:20:43

6 条回复 A文章作者 M管理员
  1. random
    random给您打赏了¥2
  2. 致良知·明

    赞赞赞

  3. Antony

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

    • Antony

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

    • 僵尸牌木乃伊

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

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索