问大家个简单的问题哦,100分再线等候!关于绝对路径与相对路径!

kingofbird 2005-07-23 03:52:08
当前工作目录暂时为 e:\vb\aaa
e盘中还有个目录是e:\vb\bbb
现在,如何把相对路径"..\bbb" 转换成为 "e:\vb\bbb"

程序例子:
'当前工作目录暂时为e:\vb\aaa
a="..\bbb"
'如果让a的结果变成 e:\vb\bbb
...全文
207 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
luoxiaoxiang 2005-07-24
  • 打赏
  • 举报
回复
看了半天没明白楼主的意思,是不是查找目录bbb的路径啊?相对路径也好,绝对路径也好,不都是同一个字符串吗?
jxgzay 2005-07-23
  • 打赏
  • 举报
回复
明白了楼主的意思:
已知一个当前目录的绝对路径的表达式 CurrentPath,例如CurrentPath="e:\vb\aaa",另外还有一个路径表达式NewPath,例如NewPath="..\bbb"
现在要求NewPath的绝对路径表达式 例如:NewPath="..\bbb" 变为NewPath="e:\vb\bbb"
代码如下:

Private Sub Command1_Click()
Dim CurrentPath As String
Dim NewPath As String
CurrentPath = "e:\vb\aaa"
NewPath = "..\bbb"
'以上两个变量可以通过TextBox输入

If InStr(NewPath, ":") > 0 Then
'含有“:”如"E:\vb"本身是绝对路径,不处理
NewPath = NewPath
ElseIf InStr(NewPath, "..\") > 0 Then
'含有.\的相对路径
NewPath = Mid(CurrentPath, 1, InStrRev(CurrentPath, "\")) & Mid(NewPath, 4)
ElseIf InStr(NewPath, ".\") > 0 Then
NewPath = CurrentPath & "\" & Mid(NewPath, 3)
End If
MsgBox NewPath

End Sub



threenewbee 2005-07-23
  • 打赏
  • 举报
回复
当前目录 = App.Path
相对目录 = "..\AAA\1.txt"
Path = 当前目录 & "\" & 相对目录
ilove8 2005-07-23
  • 打赏
  • 举报
回复
up
mycatlove 2005-07-23
  • 打赏
  • 举报
回复
一般来说app.path完全足够用了。还有程序中要避免使用绝对路径,尽量都要使用相对路径。
个人感觉,你没必要这么做。如果说两个程序不在同一子目录,但是在同一根目录下的话用"..\bbb"
liuhaohit 2005-07-23
  • 打赏
  • 举报
回复
最好把问题说的更明确一点,app.path 返回应用程序路径 一般情况下应该都够用的
你也可以把你的问题向这个方向转化
fishmans 2005-07-23
  • 打赏
  • 举报
回复
其实不是很明白你要干什么
kingofbird 2005-07-23
  • 打赏
  • 举报
回复
楼上的大哥,app.path 只能返回应用程序路径,就算是用也是形成 e:\vb\aaa\..\bbb 的格式。
GetModuleFileName是什么哦?没用过!api 吗?
laviewpbt 2005-07-23
  • 打赏
  • 举报
回复
或者用GetModuleFileName
laviewpbt 2005-07-23
  • 打赏
  • 举报
回复
App.Path返回应用程序路径名。
kingofbird 2005-07-23
  • 打赏
  • 举报
回复
自己顶起来!

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧