注册 登录
编程论坛 VB6论坛

[已经解决]已得到一文件夹的路径,如何再取上一级的路径?谢谢。

HVB6 发布于 2020-06-04 19:47, 2715 次点击
只有本站会员才能查看附件,请 登录

'以上代码可以选择文件夹的路径(即s,),如:s =“ E:\ asw \ tmk \ kyr”(文件夹的路径的级数不定),请教
取“ E:\ asw \ tmk”(即s的上一级的路径)的代码如何写?谢谢。

'为何贴代码有一些英文单词会变为中文呢?清教如何贴代码上传?谢谢。
已经解决:  path = Left(s, InStrRev(s, "\"))
          MsgBox path  ' path="E:\ asw \ tmk\"


[此贴子已经被作者于2020-6-4 20:08编辑过]

5 回复
#2
风吹过b2020-06-04 22:03
代码可用,但存在bug
s =“ E:\ asw \ tmk \ kyr\"
你这行代码的结果错误的
会返回 E:\ asw \ tmk \ kyr

修改建议,先对最后一个字符判断,如果是 \ ,那么去掉这人
个 \ 再执行你的这么代码。
#3
HVB62020-06-05 15:22
回复 2楼 风吹过b
谢谢关注。因为即要处理这一级的某个文件夹,还要在这一级建立一个文件夹,因此,该代码的结果正合本人的心意。
#4
yz10252020-06-07 02:39
A=split(s,"\")

for I=0 to abound(A)
....
next I

拆解再重组就好了
#5
inchn2020-07-03 17:51
mark  获得上一级路径
#6
yuma2020-07-03 20:34
回复 楼主 HVB6
查看文件夹的上级文件夹

Set fso = CreateObject("Scripting.FileSystemObject")
ParentPath = fso.GetParentFolderName("C:\AA\BB\CC")
MsgBox ParentPath


查看文件所在文件夹的上级文件夹

程序代码:
Dim pos
Str="C:\Windows\system32\mstsc.exe"
pos = InStrRev(Str, "\") '从字符串尾部向前搜索子串("\")
GetFileTitle = Left(Str,pos) '截取文件完整路径
'
Msgbox GetFileTitle
Set fso = CreateObject("Scripting.FileSystemObject")
ParentPath = fso.GetParentFolderName(GetFileTitle) '返回上级目录
MsgBox ParentPath


[此贴子已经被作者于2020-7-4 12:51编辑过]

1