rongcong005 发表于 2008-10-9 03:38:53

如何获取当前目录名?

我想获取运行脚本所在的当前目录名,如脚本路径为:
c:\aaa\bbb\ccc\test.au3
现在想获取“ccc”并作为一个变量,不知要怎样写脚本?
谢谢!!

itljl 发表于 2008-10-9 03:55:22

dim $Var
$Var = StringSplit (@scriptdir,"\")
msgbox(0,"",$Var[$var-1])

pcbar 发表于 2008-10-9 08:05:26

$a='c:\aaa\bbb\ccc\test.au3'
$b=StringRegExp($a,'[^\\]+(?=\\[^\\]+$)',2)
MsgBox(0,'dir',$b)

sanhen 发表于 2008-10-9 09:15:37


#include <file.au3>
#include <array.au3>
Dim $szDrive, $szDir, $szFName, $szExt
$TestPath = _PathSplit(@ScriptFullPath, $szDrive, $szDir, $szFName, $szExt)
_ArrayDisplay($TestPath,"Demo _PathSplit()")

xg911335 发表于 2008-10-9 14:09:32

做个记号,以便查询。

rongcong005 发表于 2008-10-9 14:45:26

二楼的脚本好像只能获取上级目录的名称,也就是只能得到例子里的“bbb”而不是“ccc”,三楼的可以,我把脚本改成以下:
$b=StringRegExp(@AutoItExe,'[^\]+(?=\[^\]+$)',2)
MsgBox(0,'dir',$b)
测试可以,从脚本来说,应该没什么问题吧?(另外可否解释一下三楼的代码?初学,很多不懂。。。)
四楼的我没看懂,惭愧ING。。。。。。
谢谢各位!!

liongodmien 发表于 2008-10-10 08:05:31

原帖由 rongcong005 于 2008-10-9 14:45 发表 http://www.autoitx.com/images/common/back.gif
二楼的脚本好像只能获取上级目录的名称,也就是只能得到例子里的“bbb”而不是“ccc”,三楼的可以,我把脚本改成以下:
$b=StringRegExp(@AutoItExe,'[^\]+(?=\[^\]+$)',2)
MsgBox(0,'dir',$b)
测试可以,从脚 ...

其实二楼的也是可以的,只不过当时他考虑的时候偏差了一点,只要删除掉那个 -1 就和垢了!

dim $Var
$Var = StringSplit (@scriptdir,"\")
msgbox(0,"",$Var[$var])

qqgghh1 发表于 2008-10-13 10:23:03

四楼三恨大哥的不错啊。是帮助文件里的,只是现在那个部分还没有中文译本。这个UDF简单功能全。建议使用啊!

qqgghh1 发表于 2008-10-13 10:23:03

四楼三恨大哥的不错啊。是帮助文件里的,只是现在那个部分还没有中文译本。这个UDF简单功能全。建议使用啊!
页: [1]
查看完整版本: 如何获取当前目录名?