nodejs获取文件夹下所有文件

nodejs获取文件夹下所有文件,第1张

function findSync(startPath) {

    let result=[]

    function finder(path) {

        let files=fs.readdirSync(path)

        files.forEach((val,index) =>{

            let fPath=join(path,val)

            let stats=fs.statSync(fPath)

            if(stats.isDirectory()) finder(fPath)

            if(stats.isFile()) result.push(fPath)

        })

    }

    finder(startPath)

    return result

}

let fileNames=findSync('./')

实例说明

BuildPath(路径,文件名) //这个方法会对给定的路径加上文件,并自动加上分界符

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

var newpath = fso.BuildPath("c:\\tmp", "51js.txt")//生成 c:\tmp\51js.txt的路径

alert(newpath)

-->

</SCRIPT>

CopyFile(源文件, 目标文件, 覆盖) //复制源文件到目标文件,当覆盖值为true时,如果目标文件存在会把文件覆盖

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

var newpath = fso.CopyFile("c:\\autoexec.bat", "d:\\autoexec.bak")

-->

</SCRIPT>

CopyFolder(对象目录,目标目录 ,覆盖) //复制对象目录到目标目录,当覆盖为true时,如果目标目录存在会把文件覆盖

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

fso.CopyFolder("c:\\WINDOWS\\Desktop", "d:\\")//把C盘的Desktop目录复制到D盘的根目录

-->

</SCRIPT>

CreateFolder(目录名) //创建一个新的目录

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

var newFolderName = fso.CreateFolder("c:\\51JS")//在C盘上创建一个51JS的目录

-->

</SCRIPT>

CreateTextFile(文件名, 覆盖) //创建一个新的文件,如果此文件已经存在,你需要把覆盖值定为true

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

var newFileObject = fso.CreateTextFile("c:\\autoexec51JS.bat", true)//脚本将在C盘创建一个叫 autoexec51JS.bat的文件

-->

</SCRIPT>

DeleteFile(文件名, 只读?) //删除一个文件,如果文件的属性是只读的话,你需要把只读值设为true

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")//为了安全我先把要删除的autoexec.bat备份到你的D盘

var newpath = fso.CopyFile("c:\\autoexec.bat", "d:\\autoexec.bat")//把C盘的autoexec.bat文件删除掉

fso.DeleteFile("c:\\autoexec.bat", true)

-->

</SCRIPT>

DeleteFolder(文件名, 只读?)//删除一个目录,如果目录的属性是只读的话,你需要把只读值设为true

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

fso.CopyFolder("c:\\WINDOWS\\Desktop", "d:\\")//为了安全我先把你C盘的Desktop目录复制到你D盘的根目录

fso.DeleteFolder("c:\\WINDOWS\\Desktop", true)//把你的Desktop目录删除,但因为desktop是系统的东西,所以不能全部删除,但.........

-->

</SCRIPT>

DriveExists(盘符) //检查一个盘是否存在,如果存在就返会真,不存在就返回.......

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

hasDriveD = fso.DriveExists("d")//检查系统是否有D盘存在

hasDriveZ = fso.DriveExists("z")//检查系统是否有Z盘存在

if (hasDriveD) alert("你的系统内有一个D盘")

if (!hasDriveZ) alert("你的系统内没有Z盘")

-->

</SCRIPT>

FileExists(文件名) //检查一个文件是否存在,如果存在就返会真,不存在就返回.......

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

fileName = fso.FileExists("c:\\autoexec.bat")

if (fileName) alert("你在C盘中有autoexec.bat文件,按下确定后这个文件将被删除!")//开个玩笑:)

-->

</SCRIPT>

FolderExists(目录名) //检查一个目录是否存在,如果存在就返会真,不存在就返回.......

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

folderName = fso.FolderExists("c:\\WINDOWS\\Fonts")

if (folderName) alert("按下确定后系统的字库将被删除!")//开个玩笑:)

-->

</SCRIPT>

GetAbsolutePathName(文件对象) //返回文件对象在系统的绝对路径

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

pathName = fso.GetAbsolutePathName("c:\\autoexec.bat")

alert(pathName)

-->

</SCRIPT>

GetBaseName(文件对象) //返回文件对象的文件名

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

baseName = fso.GetBaseName("c:\\autoexec.bat")//取得autoexec.bat的文件名autoexec

alert(baseName)

-->

</SCRIPT>

GetExtensionName(文件对象) //文件的后缀

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

exName = fso.GetExtensionName("c:\\autoexec.bat")//取得autoexec.bat后缀bat

alert(exName)

-->

</SCRIPT>

GetParentFolderName(文件对象) //取得父级的目录名

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

parentName = fso.GetParentFolderName("c:\\autoexec.bat")//取得autoexec.bat的父级目录C盘

alert(parentName)

-->

</SCRIPT>

GetSpecialFolder(目录代码) //取得系统中一些特别的目录的路径,目录代码有3个分别是 0:安装Window的目录 1:系统文件目录 2:临时文件目录

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

tmpFolder = fso.GetSpecialFolder(2)//取得系统临时文件目录的路径 如我的是 C:\windows\temp

alert(tmpFolder)

-->

</SCRIPT>

GetTempName() //生成一个随机的临时文件对象,会以rad带头后面跟着些随机数,就好象一些软件在安装时会生成*.tmp

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

tmpName = fso.GetTempName()//我在测试时就生成了radDB70E.tmp

alert(tmpName)

-->

</SCRIPT>

MoveFile(源文件, 目标文件) //把源文件移到目标文件的位置

<SCRIPT LANGUAGE="JavaScript">

<!--

var fso = new ActiveXObject("Scripting.FileSystemObject")

var newpath = fso.MoveFile("c:\\autoexec.bat", "d:\\autoexec.bat")//把C盘的autoexec.bat文件移移动到D盘

-->

</SCRIPT>

然后在入口文件中调用即可:

这样就能一次性引用所有文件了。

该模块还提供了一些额外参数:

这样可以实现两个功能:

这适用于定义为类的控制器文件,如:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12046683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存