js宏中的文件操作之Dir函数

Dir 函数原本是 VBA中一个非常有用的函数,而在JS宏中也引入了这个函数且代码相对VB而言简洁了许多,它主要用于返回一个字符串,该字符串表示符合指定模式的第一个文件名(包括路径,如果提供的话)。Dir 函数在遍历文件夹中的文件时特别有用,尤其是在需要处理多个文件时。其语法结构如下:

Dir(pathname, [attributes])
pathname:一个字符串表达式,表示文件路径。可以包含目录、文件名或模式(例如,*.txt 表示所有文本文件)。如果省略,Dir 会返回当前目录中的第一个文件名。

attributes(默认0):一个常量或数值表达式,表示要返回的文件类型。可以是以下值的组合:

        0:默认,返回常规文件。

        1:只读文件。

        2:隐藏文件。

        4:系统文件。

        8:卷标。

        16:目录/文件夹。

示例代码:读取E盘中的文件如下图所示

function main(){
	let path = "E:\\w_js"; //JS中 \ 表示转义字符,故而需要 \\ 表示 \
	let fileName = Dir(path + "\\*.txt"); //读取w_js文件夹下的所有Txt文件, 默认常规读取
    //利用上一节提到的循环语句来遍历
	while(true){
		console.log(fileName); //输出txt文件名称(my1.txt, my2.txt, my3.txt)
        //利用上一节讲到的捕获异常语句来控制while true循环的跳出条件
		try{
			fileName = Dir(); //遍历下一个txt文件名称
		}catch(er){
			console.log(er.message); //当问价夹中所有的文件遍历完后会抛出异常;这里会输出“方法执行失败”
			break; //跳出循环
		}
	}
}

//利用前面基础部分提到的函数知识来定义一个方法读取文件夹中的文件名称
function getFileName(path, num){
    //path 表示读取的文件夹路径
    //num 表示Dir的第二个参数
    let fileName = Dir(path, num);
    while(true){
		console.log(fileName); 
		try{
			fileName = Dir(); 
		}catch(er){
			console.log(er.message); 
			break; //跳出循环
		}
	}
}

//调用函数getFileName
function main1(){
    getFileName("E:\\w_js\\*", 16); //输出所有文件名称,包括文件夹名称
    getFileName("E:\\w_js\\*.*", 0); //输出所有文件名称,不包括文件夹名称
}

思考:如何将文件夹中所有的文件名称写入单元格中呢?

下一节:js宏中的文件操作之MkDir函数

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jackispy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值