判断一个文件夹是否存在,如果不存在则创建,以下的效率高么????????

yanzeyuan 2003-11-20 06:26:41
有一个程序,每秒钟要判断10来次文件夹是否存在,如果不存在,则创建
我是用下列代码实现的:

Dim nFSO As New FileSystemObject, nFolder As Folder

TempPath = "C:\" + FolderString

If Not nFSO.FileExists(TempPath) Then
Set nFolder = nFSO.CreateFolder(TempPath)
End If

FolderString是一个变量,时刻变化的!

谢谢高手发表意见!
...全文
100 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhl123 2003-11-22
  • 打赏
  • 举报
回复
up
lfshf 2003-11-22
  • 打赏
  • 举报
回复
感谢lovingkiss,有一句写错了

dim MyPath as string,MyName as string
MyPath = "c:\MyFolder" ' 指定路径。
MyName = Dir(MyPath, vbDirectory) ' 找寻第一项。
if MyName ="" then
MkDir MyPath '没有就创建
end if
boydgmx 2003-11-21
  • 打赏
  • 举报
回复
程序模块执行完了会自动释放,但是最好养成释放资源的好习惯!!
yanzeyuan 2003-11-21
  • 打赏
  • 举报
回复
Set nFolder =nothing
set nFSO =nothing

呵呵,谢谢各位,我知道了,需要释放资源!

但是如果我不释放资源,是不是时间长了系统就会很慢啊?

还有,一个程序模块里定义的变量需要释放么?是不是程序模块执行完了会自动释放啊?
kimurakenshin 2003-11-21
  • 打赏
  • 举报
回复
学习......

谢谢!!!
mmcgzs 2003-11-21
  • 打赏
  • 举报
回复
同意 lovingkiss
lovingkiss 2003-11-21
  • 打赏
  • 举报
回复
MyPath = "c:\MyFolder" ' 指定路径。
MyName = Dir(MyPath, vbDirectory) ' 找寻第一项。
if MyName <> "" then
MkDir MyPath '没有就创建
end if

对不起——上边的程序无法创建C:\的,呵呵~~
lovingkiss 2003-11-21
  • 打赏
  • 举报
回复
具体哪一个速度更快,我没有试验,估计不会差得太多,但是使用外部的引用,需要释放资源~
lovingkiss 2003-11-21
  • 打赏
  • 举报
回复
MyPath = "c:\" ' 指定路径。
MyName = Dir(MyPath, vbDirectory) ' 找寻第一项。
if MyName <> "" then
MkDir MyPath '没有就创建
end if


都是用的内部函数,不一定非要使用外部的引用,外部的引用功能多,但是速度就不一定高了~~
lfshf 2003-11-21
  • 打赏
  • 举报
回复
楼上注意了,这可是判断文件夹的,Dir怎么用?

我也遇到这个问题,用VB内置的函数,很机械的办法了,不好意思贴出来。

请楼上谈一下怎样判断一个文件夹是否存在?
rainstormmaster 2003-11-20
  • 打赏
  • 举报
回复
用dir函数就可以了,用fso对象的话,要注意及时释放资源,即把下面两句加入到你的代码后:
Set nFolder =nothing
set nFSO =nothing
yoki 2003-11-20
  • 打赏
  • 举报
回复
就它了

7,763

社区成员

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

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