找回密码
 加入
搜索
查看: 1742|回复: 13

如何获取脚本自身名称

[复制链接]
发表于 2009-6-13 15:40:21 | 显示全部楼层 |阅读模式
本帖最后由 botanycc 于 2009-6-13 22:17 编辑

有没办法获取脚本自身名称,不包括路径和扩展名,就单单名称
发表于 2009-6-13 16:03:02 | 显示全部楼层
@ScriptName
 楼主| 发表于 2009-6-13 16:09:52 | 显示全部楼层
这函数我也知道,如何去除路径,我就需要单单文件名
发表于 2009-6-13 16:50:12 | 显示全部楼层
@ScriptDir 脚本所在目录. (不包含反斜杠符号"\")
@ScriptName 当前运行的脚本的长文件名.
@ScriptFullPath 等价于 @ScriptDir & "\" & @ScriptName


@ScriptName只有文件名,
@ScriptDir只有目录,
@ScriptFullPath既有目录,又有文件名,中间还有个“\”
 楼主| 发表于 2009-6-13 20:27:26 | 显示全部楼层
会返回路径的,我还是不会搞
发表于 2009-6-13 20:32:43 | 显示全部楼层
#include <File.au3>
Dim $sDrive, $sPath, $sName, $sExtension
_PathSplit(@ScriptFullPath, $sDrive, $sPath, $sName, $sExtension)
Msgbox(0, '', $sName)
$sName = StringRegExp(@ScriptName, "(.+)\.", 1)
Msgbox(0, '', $sName[0])
发表于 2009-6-13 21:23:33 | 显示全部楼层
楼上正解+强解,无懈可击
发表于 2009-6-13 21:53:42 | 显示全部楼层
Re 7#:
有懈可击,你新建个脚本,无扩展名,运行试下,第2种方法就会出错了。
发表于 2009-6-13 21:55:19 | 显示全部楼层
Re 7#:
有懈可击,你新建个脚本,无扩展名,运行试下,第2种方法就会出错了。
 楼主| 发表于 2009-6-13 22:16:57 | 显示全部楼层
果真强悍,谢谢解答
发表于 2009-6-14 08:52:16 | 显示全部楼层
正则处理还是比较方便的。。
发表于 2009-6-14 09:19:13 | 显示全部楼层
Re 7#:
有懈可击,你新建个脚本,无扩展名,运行试下,第2种方法就会出错了。
pusofalse 发表于 2009-6-13 21:55

长的比短好。。。
发表于 2009-6-14 15:36:29 | 显示全部楼层
本帖最后由 sanmoking 于 2009-6-14 15:40 编辑

如果只去除最后一级扩展名的话用下列这个,比如111.au3.txt,识别出来为111.au3
if StringInStr (@ScriptName, "." , 0, -1 )>1 then
$name = StringLeft (@ScriptName, StringInStr (@ScriptName, "." , 0, -1 )-1)
else
$name = @ScriptName
endif
MsgBox(0,$name,$name)


如果去除所有级别的扩展名的话用下列这个,比如111.au3.txt,识别出来为111
if StringInStr (@ScriptName, "." )>1 then
$name = StringLeft (@ScriptName, StringInStr (@ScriptName, ".")-1)
else
$name = @ScriptName
endif
MsgBox(0,$name,$name)

上述两个例子都能解决无扩展名的问题,之前不好意思没看清楚楼主的要求
发表于 2009-6-14 18:15:05 | 显示全部楼层
楼上的不错
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-13 09:37 , Processed in 0.079637 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表