Dir 函数

语法:Dir[(pathname[, attributes])]

两个参数都是可选的,attributes表示文件属性。

功能:返回一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。

说明:在第一次调用 Dir 函数时,必须指定 pathname,否则会产生错误。如果也指定了文件属性,那么就必须包括 pathname。

Dir 会返回匹配 pathname 的第一个文件名。若想得到其它匹配 pathname 的文件名,再一次调用 Dir,且不要使用参数。如果已没有合乎条件的文件,则 Dir 会返回一个零长度字符串 ("")。一旦返回值为零长度字符串,并要再次调用 Dir 时,就必须指定 pathname,否则会产生错误。不必访问到所有匹配当前 pathname 的文件名,就可以改变到一个新的 pathname 上。但是,不能以递归方式来调用 Dir 函数。以 vbDirectory 属性来调用 Dir 不能连续地返回子目录。

示例:

Debug.Print Dir("F:\TEST.xls")  ’返回"TEST.xls"

Debug.Print Dir("F:\*.xls")  ’返回按条件第一个找到的文件名。

Debug.Print Dir("F:\*.txt",vbReadOnly) ’返回第一个只读的txt文件

以下过程可显示C盘根目录下的所有目录.

Sub DirC()

MyPath = "c:\"

MyName = dir(MyPath, vbDirectory)     ' 找寻第一项。

Do While MyName <> ""      ' 开始循环。

' 跳过当前的目录及上层目录。

If MyName <> "." And MyName <> ".." Then

' 使用位比较来确定 MyName 代表一目录。

If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then

Debug.Print MyName     ' 如果它是一个目录,将其名称显示出来。

End If

End If

MyName = dir    ' 查找下一个目录。

Loop

End Sub

以下过程利用递归可以查找目录和子目录下的所有文件。

Public Sub FindFile(mPath As String, Optional sFile As String = "")

On Error Resume Next

Dim s As String, sDir() As String

Dim i As Long, d As Long

If Right(mPath, 1) <> "\" Then

mPath = mPath & "\"

End If

'查找目录下的文件

s = dir(mPath & sFile, vbArchive + vbDirectory + vbHidden + vbNormal + vbReadOnly + vbSystem)

Do While s <> ""

Debug.Print mPath & s

s = dir

Loop

'查找目录下的子目录

s = dir(mPath, vbArchive + vbDirectory + vbHidden + vbNormal + vbReadOnly + vbSystem)

Do While s <> ""

If s <> "." And s <> ".." Then

If (GetAttr(mPath & s) And vbDirectory) = vbDirectory Then

d = d + 1

ReDim Preserve sDir(d)

sDir(d) = mPath & s

End If

End If

s = dir

Loop

'开始递归

For i = 1 To d

FindFile sDir(d) & "\"

Next

dir_recurse是 php函数,dir_recurse是一个函数么?相关推荐

  1. JavaScript中函数作为另一个函数的参数的时候它存在于哪个作用域

    一直对函数作为参数被传递进另外一个函数理解的不是很清除.先看下这段代码吧: function test(fn){var bar = 1;fn(); } var bar = 99; test(funct ...

  2. python一个函数调用另一个函数_在Python中将函数作为另一个函数的参数传入并调用的方法...

    在Python中,函数本身也是对象,所以可以将函数作为参数传入另一函数并进行调用 在旧版本中,可以使用apply(function, *args, **kwargs)进行调用,但是在新版本中已经移除, ...

  3. 闭包---在函数内部再定义一个函数

    什么是闭包 # 定义一个函数 def test(number):# 在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包def test_in(num ...

  4. python语言下同一个类下有多个函数,其中一个函数想调用另外一个函数里面的变量怎么调用

    一:问题,同一个类下,有多个函数,其中一个函数想调用另外一个函数里面的变量怎么调用 解决方法:在调用函数里面,初始化一下被调用的函数,然后就可以直接使用被调用函数数里面的变量了 self.被调用函数名 ...

  5. matlab已知函数表达式画函数图像,怎么用matlab画已知函数表达式的一个函数图像?函数比较复杂的……...

    点击查看怎么用matlab画已知函数表达式的一个函数图像?函数比较复杂的--具体信息 答:要具体哦,如果一个自变量,函数图像就是曲线,用plot 如果是2个自变量,函数图像就是曲面了,如f=3*exp ...

  6. 20 Python函数、定义一个函数、参数传递、匿名函数、return语句、变量作用域、

    20Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你 ...

  7. c语言虚参传递字符串,c语言中,一个函数作为另一个函数的虚参是什么意思? 先谢了...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 呵呵,这里是用来传递参数的,但是他传递的是一个指针,但是这个指针不是指向一个值的地址.而是指向一个函数的首地址,这个函数是什么格式呢?就由申明的时候一起给 ...

  8. excel函数手册_一个函数高手的成长之路

    作者 | Jodie 秋叶Excel训练营优秀学员 早上跑步听樊登读书会,讲到家长如何培养孩子的社交能力,有一个例子非常好. 你的孩子因为一个玩具,和其他的小朋友争吵起来了,你会怎么处理呢? 大部分家 ...

  9. 在vue开发中会遇到methods方法里有一个函数嵌套另一个函数,最内层函数this取不到data数据,该怎么解决?

    一,问题 在vue的methods方法中两个函数互相嵌套,最内层函数this取不到data数据 二,原因 this的指向问题 三,解决方法 (1)给最外层函数this重新赋值给一个变量 methods ...

  10. 【C语言】函数:实现一个函数,打印乘法口诀表

    文章目录 1.条件概述 2.代码实现 1.条件概述 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出99口诀表,输入12,输出1212的乘法口诀表. 2.代码实现 //实现一个函 ...

最新文章

  1. BSP二叉树的数学原理(绝对原创)
  2. log4php的使用
  3. youtube根据channelId抓取栏目
  4. 浏览器卡怎么办_SD卡无法格式化怎么修复?简单修复方法介绍
  5. svn switch 导致个别文件switch失败
  6. SQLite—homework
  7. python求解微分方程组_python – SymPy / SciPy:求解具有不同变量的常微分方程组...
  8. docker容器与宿主拷贝文件
  9. Markdown使用手册
  10. Stardock Fences v3.1.0.5 桌面整理、图标分类工具
  11. python中delay__python delay函数
  12. 一篇论文8778个作者:人均写5个字,署名用了17页
  13. 电信计费系列2-手机+座机计费
  14. 理解网络交换机的原理
  15. Unity之ASE从入门到精通 目录
  16. 51nod 1299 监狱逃离 树形DP
  17. 用 nanodet 训练口罩检测模型,并在 jetson nano 下部署测试
  18. 2017年全球最有影响力的50家机器人公司排行榜
  19. 2009-09-神秘东北大哥
  20. Jlink OB仿真Cortex-M7的问题

热门文章

  1. Java 识别读取pdf中的二维码信息
  2. 有限元方法数学理论之分片一次多项式空间逼近理论
  3. top20万_美国top20大学博士,回国进腾讯后感叹:月入6万憋屈,后悔回国了
  4. If you already have a 64-bit JDK installed。。。。
  5. kmeans算法及python实现
  6. 给element添加自定义图标
  7. 软件测试人员每天的工作日常
  8. 多序列比对---ClustalX比对GeneDoc美化
  9. 移动手机号神州行去香港购买境外流量包方法和注意事项
  10. 云计算就业前景怎么样 学后可以胜任哪些岗位