华融天泽高投:【原创】不用非官方插件,教你如何分离路径和文件名, 提供给新手学习!
来源:百度文库 编辑:偶看新闻 时间:2024/05/02 19:30:17
[分享脚本] 【原创】不用非官方插件,教你如何分离路径和文件名, 提供给新手学习!
本帖最后由 we似曾相识 于 2011-2-25 23:20 编辑【附:小精灵自我删除的另一套方案】
今天在论坛搜索分离路径和文件名的资料居然没有查到。
有人推荐用黑马插件, 还不错的插件。能不能不用非
官方插件实现路径与文件名的分离呢,答案是肯定的。
思考后, 我找到了两条思路来实现路径和文件名分离。
得到完整路径的语句如下:
- // 定义变量
- dim Hwnd,path
- // 得到处于最前端程序的窗口句柄
- Plugin Hwnd = Window.Foreground()
- // path 是该程序的 路径+文件名
- Plugin path = Window.GetExePath(Hwnd)
- MessageBox "程序的 路径+文件名 是:" & path
//=====================<思路一分割线>======================
思路一:
将得到的路径+文件名分割成数组元素。
例如得到的路径是 C:\A\B\D.exe
那么我们只要将"\"分隔开的部分当成数组元素
即
group(0)="C:"
group(1)="A"
group(2)="B"
group(3)="D.exe"
那么我们要的路径, 即
(下一行写法不规范, 仅为让你理解其含义)
group(0)加"\"加group(1)加"\"加group(2)加"\"加group(3)加"\"文件名, 即
group(4)
思路一用到的函数 join() , spilt() , UBound() , LBound()
//=====================<思路二分割线>======================
思路二:
思路二比思路一更容易让新手接受, 尤其对于对数组重定义不太了解的朋友。
和思路一的前面部分类似, 将路径+文件名看成数组分割后 该数组的最后一个元素就是文件名字。
得到的路径+文件名的字符串长度存入变量x
得到的文件名的字符串长度存入变量y
那么x-y就是路径的字符串长度, 没有问题吧
再用Left()函数分离出路径。
思路二也很清晰吧。it‘s easy!
//=====================<思路解析结束>======================
源码
- UserVar Var1=DropList{思路一:0|思路二:1}=0 分离方式
- // 定义变量
- dim name,file_name,i,path
- //加这个提示为了得到小精灵的路径
- MessageBox 开始程序
- Plugin Hwnd = Window.Foreground()
- // path 是当前小精灵的路径
- Plugin path = Window.GetExePath(Hwnd)
- MessageBox "得到的[路径+文件名]为:" & path
- name = split(path,"\")
- // file_name 是小精灵名/小精灵进程名
- file_name = name(ubound(name))
- MessageBox "分离出的[文件名]为:" & file_name
- If Var1 = 0
- //【分离路径,方案一】
- //思路:将完整路径path分割成数组,数组中最后一个元素即程序名,除去最后一个元素,将数组其他元素重组join()即得到了程序纯路径(无程序名)
- //定义数组b(),注意数组和变量不能同时定义例如:Dim x,b(3)这样的写法是错的
- Dim b()
- //注意,声明数组或者重新声明数组时,括号中的数值均为最大下标,由于数组下标从0开始,因此实际数量为 最大下标+1
- //重定义数组b(),数组b()括号中不可以是变量,所以需要重定义数组。
- Redim b(0)
- i=0
- //LBound是数组最小下标,UBound是数组最大下标
- For ubound(name)
- //使用"Preserve"时,重新声明会调整数组最后维的大小并保留剩余数组的内容
- //一维数组中,当重新声明的下标大于原数组最大下标的时候,保留数组原有内容,并增大数组
- If name(i)>ubound(name)
- Redim Preserve b(i)
- EndIf
- b(i)=name(i)
- i=i+1
- EndFor
- Dim path_0,path_1
- path_1 = join(b,"\")
- //path_0是路径
- path_0 = path_1 & "\"
- MessageBox "分离出的[路径]为:" & path_0
- EndScript
- Else
- //【分离路径,方案二】
- //思路:(路径+文件名)的字符串长度减去(文件名)的字符串长度,再使用Left()函数实现分离纯路径
- Dim path_0,x,y
- //定义变量x,y
- // x 是 路径+文件名 的字符串长度
- x=len(path)
- // y 是 文件名 的字符串长度
- y=len(file_name)
- // x-y 是 路径的字符串长度
- path_0=Left(path,x-y)
- MessageBox "分离出的[路径]为:" & path_0
- EndScript
- EndIf
//---------------------------------------------------
学会分离路径后, 小精灵自我删除就没必要再要求小精灵名字必须是什么了吧。
下面分享下继 沉8 按键结合批处理实现小精灵自我删除的又一套方案)
//---------------------------------------------------
【按键结合VBS教你如何实现小精灵自我删除】
不用蒸馏的方法如何分离甲苯和苯乙烯
如何不用第三方插件禁止修改IE主业?
如何不用第三方插件禁止修改IE主业?
如何去掉IE中无用的插件 不用软件
如何不用插件在163相册上传相片
3DMax的插件装在什么路径下面,如何在3D中调用
俄罗斯非官方与中国有过军事冲突,其具体内容如何?
各位高手,如何删除QQ里的非官方聊天场景
谁知道网上那些非官方拳皇是如何制作出来的?
如何分离左右声道
如何分离QQ组件?
如何分离铁离子
铝纸如何分离?
如何分离mysql数据库~?
如何分离蛋黄蛋白?
大头贴如何分离
如何分离铜铁合金
如何分离输精管
你对待分离的看法
此文如何?原创
如何发行原创歌曲
如何发行原创歌曲
如何制作原创歌曲?
玩WOW不用插件好不好?