VBS获取指定目录下所有文件名字

合集下载

文件和文件夹VBS脚本大全

文件和文件夹VBS脚本大全

文件和文件夹VBS脚本大全2010-07-09 10:52文件和文件夹VBS脚本大全1推荐文件和文件夹vbs脚本大全枚举文件夹中的所有文件描述返回 Scripts 文件夹中所有文件的列表。

如果计算机有多个文件夹(例如C:\Scripts 和D:\Scripts),则文件将从这些文件夹中的每一个返回。

脚本代码strComputer = "."Set objWMIService = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & strComputer& "\root\cimv2")Set colFiles = objWMIService. _ExecQuery("Select * from CIM_DataFile where Path ='\\Scripts\\'")For Each objFile in colFilesWscript.Echo Next移动文件描述演示脚本使用 FileSystermObject 将文件从一个位置移到另一个位置。

此脚本必须运行在本地计算机上。

脚本代码Set objFSO = CreateObject("Scripting.FileSystemObject")objFSO.MoveFile "C:\FSO\ScriptLog.log" , "D:\Archive"通过日期查找文件夹描述查找在 2002 年 3 月 1 日之后创建的所有文件。

要修改此脚本,您必须修改赋给变量dtmTargetDate 的值中的下列项:?2002 -- 将此项更改为目标年(如 1999)。

?03--将此项更改为目标月(01 代表 1 月、 02代表 2月……12 代表 12月)?01 -- 将此项更改为目标天(01 代表该月的第一天、02 代表第二天)。

vbs getfile用法

vbs getfile用法

vbs getfile用法在VBScript中,可以使用GetFile方法以读取文件的形式获得文件的对象。

它的基本语法如下:```vbscriptSet fileObject = FileSystemObject.GetFile(filePath)```其中,fileObject是一个代表文件的对象,可以使用它来获取文件的属性和执行文件相关的操作。

FileSystemObject是一个内置对象,用于访问文件系统。

下面是一个简单的示例,演示了如何使用GetFile方法获取文件对象并获取文件的属性:```vbscriptSet fso = CreateObject("Scripting.FileSystemObject")Set file = fso.GetFile("C:\path\to\file.txt")' 获取文件的各种属性WScript.Echo "文件名: " & WScript.Echo "文件路径: " & file.PathWScript.Echo "文件大小: " & file.Size & " 字节"WScript.Echo "创建时间: " & file.DateCreatedWScript.Echo "修改时间: " & file.DateLastModified WScript.Echo "访问时间: " & file.DateLastAccessed```通过GetFile方法可以访问文件的各种属性,比如文件名、文件路径、大小以及各种时间戳等。

您可以根据需要使用这些属性完成文件操作。

VBA高级运用

VBA高级运用

常用VBS代码1.VBS获取路径集合1.1.VBS获取系统安装路径程序代码set WshShell = WScript.CreateObject("WScript.Shell")strWinDir = WshShell.ExpandEnvironmentStrings("%WinDir%")上面的代码意思是先定义这个变量是获取系统安装路径的,然后我们用"&strWinDir&"调用这个变量。

1.2.C:\Program Files路径程序代码msgbox CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles%")1.3.C:\Program Files\Common Files路径程序代码msgbox CreateObject("WScript.Shell").ExpandEnvironmentStrings("%CommonProgramFiles%")2.给桌面添加网址快捷方式程序代码set gangzi = WScript.CreateObject("WScript.Shell")strDesktop = gangzi.SpecialFolders("Desktop")set oShellLink = gangzi.CreateShortcut(strDesktop & "\Internet Explorer.lnk") oShellLink.TargetPath = ""oShellLink.Description = "Internet Explorer"oShellLink.IconLocation = "%ProgramFiles%\Internet Explorer\iexplore.exe, 0" oShellLink.Save3.给收藏夹添加网址程序代码Const ADMINISTRATIVE_TOOLS = 6Set objShell = CreateObject("Shell.Application")Set objFolder = space(ADMINISTRATIVE_TOOLS)Set objFolderItem = objFolder.SelfSet objShell = WScript.CreateObject("WScript.Shell")strDesktopFld = objFolderItem.PathSet objURLShortcut = objShell.CreateShortcut(strDesktopFld & "\小游戏网站.url") objURLShortcut.TargetPath = "/?ie"objURLShortcut.Save4.删除指定目录指定后缀文件程序代码On Error Resume NextSet fso = CreateObject("Scripting.FileSystemObject")fso.DeleteFile "C:\*.vbs", TrueSet fso = Nothing上面代码为删除C盘根目录下后缀为vbs的文件5.VBS改主页程序代码Set oShell = CreateObject("WScript.Shell")oShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page",""6.VBS加启动项程序代码Set oShell=CreateObject("Wscript.Shell")oShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\cmd","cmd.exe"7.VBS复制自己程序代码set copy1=createobject("scripting.filesystemobject")copy1.getfile(wscript.scriptfullname).copy("c:\huan.vbs")复制自己到C盘的huan.vbs程序代码set copy1=createobject("scripting.filesystemobject")copy1.getfile("game.exe").copy("c:\gangzi.exe")复制本vbs目录下的game.exe文件到c盘的gangzi.exe8.VBS获取系统临时目录程序代码Dim fsoSet fso = CreateObject("Scripting.FileSystemObject")Dim tempfolderConst TemporaryFolder = 2Set tempfolder = fso.GetSpecialFolder(TemporaryFolder)Wscript.Echo tempfolder9.就算代码出错依然继续执行程序代码On Error Resume Next10.VBS打开网址程序代码Set objShell = CreateObject("Wscript.Shell")objShell.Run("/")11.VBS发送邮件程序代码NameSpace = "/cdo/configuration/" Set Email = CreateObject("CDO.Message")Email.From = "发件@"Email.To = "收件@"Email.Subject = "Test sendmail.vbs"Email.Textbody = "OK!"Email.AddAttachment "C:\1.txt"With Email.Configuration.Fields.Item(NameSpace&"sendusing") = 2.Item(NameSpace&"smtpserver") = "smtp.邮件服务器.com".Item(NameSpace&"smtpserverport") = 25.Item(NameSpace&"smtpauthenticate") = 1.Item(NameSpace&"sendusername") = "发件人用户名".Item(NameSpace&"sendpassword") = "发件人密码".UpdateEnd WithEmail.Send12.VBS结束进程程序代码strComputer = "."Set objWMIService = GetObject _("winmgmts:\\" & strComputer & "\root\cimv2")Set colProcessList = objWMIService.ExecQuery _("Select * from Win32_Process Where Name = 'Rar.exe'") For Each objProcess in colProcessListobjProcess.Terminate()Next13.VBS隐藏打开网址13.1.部分浏览器无法隐藏打开,而是直接打开,适合主流用户使用程序代码createObject("wscript.shell").run "iexplore /",013.2.兼容所有浏览器,使用IE的绝对路径+参数打开,无法用函数得到IE安装路径,只用函数得到了Program Files路径,应该比上面的方法好,但是两种方法都不是绝对的。

VBS怎么获取指定目录下的文件列表

VBS怎么获取指定目录下的文件列表

VBS怎么获取指定⽬录下的⽂件列表VBS肿么获取某⽬录下的⽂件列表dim FileName,fs,foldernamefoldername = InputBox("请输⼊想要在哪个⽂件夹查找", "VBS查找⽂件")If foldername = "" Thenwscript.quitEnd IfSet fs = CreateObject("scripting.filesystemobject")digui (foldername)'调⽤递归函数进⾏查找msgbox FileName '结果显⽰'下⾯是递归查找函数Function digui(path)Set folder = fs.getfolder(path)Set subfolders = folder.subfoldersSet Files = folder.FilesFor Each i In FilesFileName=FileName & i.path & vbNewLine '找到则追加到变量FileName中NextFor Each j In subfoldersdigui (j.path) '递归查找⼦⽬录NextEnd Function'⽬录列表与上述相似,稍加修改即可。

vbs获取⽬录下的⽂件和⽂件夹集合Dim sFolder, sExt, messagesFolder = "F:\Programming\Applications\VBScript"Dim fs, oFolder, oFiles, oSubFoldersset fs = CreateObject("Scripting.FileSystemObject")set oFolder = fs.GetFolder(sFolder) '获取⽂件夹set oSubFolders = oFolder.SubFolders '获取⼦⽬录集合for each folder in oSubFoldersmessage = "⽂件夹:" & folderMsgBox messageNextset oFiles = oFolder.Files '获取⽂件集合for each file in oFilessExt = fs.GetExtensionName(file) '获取⽂件扩展名sExt = LCase(sExt) '转换成⼩写message = "⽂件名:" & & ", 扩展名:" & sExt '获得⽂件名(含扩展名,不含路径)和扩展名MsgBox messageNext充,上⾯的可以得到⽂件夹的名称(不含路径)如:folder = F:\Programming\Applications\VBScript\dd通过可以得到"dd"批量统计⼦⽬录⽂件数量@echo off&setlocal enabledelayedexpansioncd.>dirfiles.txtfor /d %%a in (*.*) do (set n=0for /f %%B in ('dir /a-d /b /s "%%a"') do set /a n+=1echo %%a !n! >>dirfiles.txt)具体的⼤家可以凑凑。

教你提取文件夹下所有文件的名称(办公族必备技能)

教你提取文件夹下所有文件的名称(办公族必备技能)

如果你想要将该文件夹里的文件名称全部提取出来,文件太多,怎么办?将文件一个一个地复制文件名再粘贴出来?其实wondows系统就为我们提供了个简便可行的方法,使得你的工作效率大大提高,不多说了,直入主题吧:
第一步:在桌面新建一文本文档(如下图):
第二步:肯定是打开该文本文档了哦(见下图):
第三步:在文本框中输入以下内容:
dir C:\Program Files/b>文件名称.txt(见下图),当然,红色部份改成你需要提取文件所在文件夹路径。

第四步:关键步骤!按Ctrl+S保存,然后将文本扩展名“txt”改成“bat”(见下图)。

第五步:双击该文件,然后会在桌面生成一个“文件名称.txt”文本文档(见下图)。

第六步:大功告成!打开“文件名称.txt”文本文档,所有文件名称已全部记录到该文件中了。

vbs搜索文件名或者得到目录列表

vbs搜索文件名或者得到目录列表

vbs搜索文件名或者得到目录列表'把网上的一个小程序改得方便了点,这个搜索次效率很好。

on error resume nextDim keyWord, DirTotal, TimeSpend, FileTotal, Fso, outFile, txtResult, txtPath, sPathConst MY_COMPUTER = &H11&Const WINDOW_HANDLE = 0Const OPTIONS = 0Set objShell = CreateObject('Shell.Application')Set objFolder = space(My_Computer)Set objFolderItem = objFolder.SelfstrPath = objFolderItem.PathSet objFolder = objShell.BrowseForFolder(WINDOW_HANDLE, '选择你要搜索的文件夹:', OPTIONS, strPath)If objFolder Is Nothing Thenmsgbox '您没有选择任何有效目录!'wscript.quitelseSet objFolderItem = objFolder.SelfsPath = objFolderItem.Pathtxtpath=sPathSet Fso = wscript.CreateObject('scripting.filesystemobject')FileTotal = 0DirTotal = 0'sPath =left(Wscript.ScriptFullName,len(Wscript.ScriptFullName)-len(Wscript.ScriptName))'txtPath = trim(inputbox('你选的目录是'&sPath,'文件搜索',sPath))keyWord = LCase(inputbox('请输入搜索关键字点Cancel的话会得到目录列表:','文件搜索','mp3'))set outFile = Fso.createtextfile(sPath & '\SearchResult.txt')outFile.writeline '开始搜索...'outFile.writeline '起启目录:' & txtPathTimeSpend = TimermyFind txtPathTimeSpend = round(Timer - TimeSpend,2)txtResult = '搜索完成!' & vbCrLf & '共找到文件:' & FileTotal & '个.' & vbCrLf & '共搜索目录:' & DirTotal & '个.' & vbCrLf & '用时:' & TimeSpend & '秒.'outFile.write txtResultmsgbox txtResult &'结果保存在'&sPath &'\SearchResult.txt'outFile.closeset outFile = nothingset Fso = nothingSub myFind(ByVal thePath)Dim fso, myFolder, myFile, curFolderSet fso = wscript.CreateObject('scripting.filesystemobject') Set curFolders = fso.getfolder(thePath)DirTotal = DirT otal 1If curFolders.Files.Count > 0 ThenFor Each myFile In curFolders.FilesIf InStr(1, LCase(), keyWord) > 0 ThenoutFile.WriteLine FormatPath(thePath) & '\' & FileTotal = FileT otal 1End IfNextEnd IfIf curFolders.subfolders.Count > 0 ThenFor Each myFolder In curFolders.subfoldersmyFind FormatPath(thePath) & '\' & NextEnd IfEnd SubFunction FormatPath(ByVal thePath)thePath = Trim(thePath)FormatPath = thePathIf Right(thePath, 1) = '\' Then FormatPath = Mid(thePath, 1, Len(thePath) - 1)End FunctionEnd if====================================== =================================附件:关于打开目录的方面:Private Const CSIDL_DESKTOP = &H0 'Private Const CSIDL_INTERNET = &H1 ' Internet Explorer (icon on desktop)Private Const CSIDL_PROGRAMS = &H2 ' Start Menu\ProgramsPrivate Const CSIDL_CONTROLS = &H3 ' My Computer\Control PanelPrivate Const CSIDL_PRINTERS = &H4 ' My Computer\PrintersPrivate Const CSIDL_PERSONAL = &H5 ' My DocumentsPrivate Const CSIDL_FAVORITES = &H6 ' \FavoritesPrivate Const CSIDL_STARTUP = &H7 ' Start Menu\Programs\StartupPrivate Const CSIDL_RECENT = &H8 ' \RecentPrivate Const CSIDL_SENDTO = &H9 ' \SendToPrivate Const CSIDL_BITBUCKET = &HA ' \Recycle BinPrivate Const CSIDL_STARTMENU = &HB ' \Start MenuPrivate Const CSIDL_MYDOCUMENTS = &HC ' logical 'My Documents' desktop iconPrivate Const CSIDL_MYMUSIC = &HD ' 'My Music' folderPrivate Const CSIDL_MYVIDEO = &HE ' 'My Videos' folderPrivate Const CSIDL_DESKTOPDIRECTORY = &H10 ' \DesktopPrivate Const CSIDL_DRIVES = &H11 ' My ComputerPrivate Const CSIDL_NETWORK = &H12 ' Network Neighborhood (My Network Places)Private Const CSIDL_NETHOOD = &H13 ' \nethoodPrivate Const CSIDL_FONTS = &H14 ' windows\fontsPrivate Const CSIDL_TEMPLATES = &H15Private Const CSIDL_COMMON_STARTMENU = &H16 ' All Users\Start MenuPrivate Const CSIDL_COMMON_PROGRAMS = &H17 ' All Users\Start Menu\ProgramsPrivate Const CSIDL_COMMON_STARTUP = &H18 ' All Users\StartupPrivate Const CSIDL_COMMON_DESKTOPDIRECTORY = &H19 ' All Users\DesktopPrivate Const CSIDL_APPDATA = &H1A ' \Application Data Private Const CSIDL_PRINTHOOD = &H1B ' \PrintHoodPrivate Const CSIDL_LOCAL_APPDATA = &H1C ' \Local Settings\Applicaiton Data (non roaming)Private Const CSIDL_ALTSTARTUP = &H1D ' non localized startupPrivate Const CSIDL_COMMON_ALTSTARTUP = &H1E ' non localized common startupPrivate Const CSIDL_COMMON_FAVORITES = &H1FPrivate Const CSIDL_INTERNET_CACHE = &H20 'TEMPORARY INTERNET FILESPrivate Const CSIDL_COOKIES = &H21Private Const CSIDL_HISTORY = &H22Private Const CSIDL_COMMON_APPDATA = &H23 ' All Users\Application DataPrivate Const CSIDL_WINDOWS = &H24 'GetWindowsDirectory()Private Const CSIDL_SYSTEM = &H25 ' GetSystemDirectory() Private Const CSIDL_PROGRAM_FILES = &H26 ' C:\Program FilesPrivate Const CSIDL_MYPICTURES = &H27 ' C:\Program Files\My PicturesPrivate Const CSIDL_PROFILE = &H28 ' USERPROFILEPrivate Const CSIDL_SYSTEMX86 = &H29 ' x86 system directory on RISCPrivate Const CSIDL_PROGRAM_FILESX86 = &H2A ' x86 C:\Program Files on RISCPrivate Const CSIDL_PROGRAM_FILES_COMMON = &H2B ' C:\Program Files\CommonPrivate Const CSIDL_PROGRAM_FILES_COMMONX86 = &H2C ' x86 Program Files\Common on RISCPrivate Const CSIDL_COMMON_TEMPLATES = &H2D ' All Users\Templates_Private Const CSIDL_COMMON_DOCUMENTS = &H2E ' All Users\DocumentsPrivate Const CSIDL_COMMON_ADMINTOOLS = &H2F ' All Users\Start Menu\Programs\Administrative ToolsPrivate Const CSIDL_ADMINTOOLS = &H30 ' \Start Menu\Programs\Administrative ToolsPrivate Const CSIDL_CONNECTIONS = &H31 ' Network and Dial-up ConnectionsPrivate Const CSIDL_COMMON_MUSIC = &H35 ' All Users\My MusicPrivate Const CSIDL_COMMON_PICTURES = &H36 ' All Users\My PicturesPrivate Const CSIDL_COMMON_VIDEO = &H37 ' AllUsers\My VideoPrivate Const CSIDL_RESOURCES = &H38 ' Resource DirecotryPrivate Const CSIDL_RESOURCES_LOCALIZED = &H39 ' Localized Resource DirecotryPrivate Const CSIDL_COMMON_OEM_LINKS = &H3A ' Links to All Users OEM specific appsPrivate Const CSIDL_CDBURN_AREA = &H3B ' USERPROFILE\Local Settings\Application Data\Microsoft\CD BurningPrivate Const CSIDL_COMPUTERSNEARME = &H3D ' Computers Near Me (computered from Workgroup membership) Private Const CSIDL_FLAG_CREATE = &H8000 ' combine with CSIDL_ value to force folder creation in SHGetFolderPath() Private Const CSIDL_FLAG_DONT_VERIFY = &H4000 ' combine with CSIDL_ value to return an unverified folder path Private Const CSIDL_FLAG_NO_ALIAS = &H1000 ' combine with CSIDL_ value to insure non-alias versions of the pidl Private Const CSIDL_FLAG_PER_USER_INIT = &H800 ' combine with CSIDL_ value to indicate per-user init (eg. upgrade) Private Const CSIDL_FLAG_MASK = &HFF00 ' mask for all possible flag values====================================== =======================================。

用批处理命令批量获取指定文件夹内的文件名

用批处理命令批量获取指定文件夹内的文件名

用批处理命令批量获取指定文件夹内的文件名在需要提取文件名的文件夹内新建一个文本文件,输入内容:dir /s /w >>catalog.txt保存后将其文件后缀.txt改为.bat,然后运行之,该文件夹下会自动产生一个catalog.txt的文本文件,其中就包含了当前文件夹的所有文件名列表。

这个bat文件可以挪到任何文件夹下进行运行。

参数解读:如果为dir*.doc/s/w>>catalog.txt,表示仅生成后缀为.doc的文件,如果是*.*,那就表明包含所有文件,因此也可以省略不写(如最上面提到的范例)。

/s表示只显示系统文件;/w表示只显示文件名,至于文件大小及建立的日期和时间则都省略;--------------------------------------------------------------------------------更多参考:DIR命令的格式dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted][/s][/l][/c[h](1)dir /a:attrib缺省包含所有文件(系统文件.隐含文件)attrib[:][h/-h]只显示隐含文件或非隐含文件.[r/-r]只显示只读文件或非只读文件[s/-s]只显示系统文件或非系统文件[a/-a]只显示要归档文件或非归档文件(2)/o[:]sorted:缺省完全按字母顺序,子目录显示在文件之前/o[n/-n]:按字母顺序或按文件名顺序/反向显示[e/-e]:按扩展名字母顺序/反向显示[d/-d]:按时间顺序/反向显示[s/-s]:按大小从大到小或/反向显示[g/-g]:按子目录先于文件或文件先于子目录(3)/s参数:对当前目录及其子目录中所有文件进行列表(4)/B参数:将只显示文件名与扩展名(5)/L参数:将全部用小写字母对文件或子目录进行列表如何快速获取当前目录下的xls文件清单1,新建一txt文件,输入如下代码:For /r %%i in (*.xls) DO @echo %%~fi >>Excel文件名.txt其中粗体部分为执行批处理后新生成的存放xls文件名清单的txt文件2,存盘后更改扩展名txt为bat3,执行bat文件,就生成了txt格式的文件名清单4,附件为可执行bat文件批处理自身%0的总结。

vbs脚本看懂了就成才了!!vbs代码命令集合大全

vbs脚本看懂了就成才了!!vbs代码命令集合大全
Set fso = Wscript.CreateObject("Scripting.FileSystemObject") ‘声明
Set f = fso.CreateTextFile("%PATH%") '创建文件,其中f可任意,包含缩略名
f.WriteLine("VBS") '写文件内容,该命令功能太简单,目前看来只能用于TXT文件
eg:
Set wso = CreateObject("Wscript.Shell")
wso.RegWrite "HKLM\SOFTWARE\Microsft\Windows NT\#1"
wso.RegWrite "HKLM\SOFTWARE\Microsft\Windows NT\#1","0"
Set objUser = GetObject("WinNT://testnet/Engineers")
objGroup.Add(objUser.ADsPath)
修改本地管理员密码
Set objcnlar = GetObject("WinNT://./administrator, user")
wscript.sleep 2000 '(该行命令未知作用.估计是设定延迟,请高手指点)
wshshell.appactivate "%WindowsName%" '激活运用程序窗口
wshshell.sendkeys "+{%KeyBoardName%}" '第一次输出键盘按键指令前要加+

每日Excel分享(函数VBA技巧)提取文件夹里面所有文件名称的三种方法,总有一种是你想要的...

每日Excel分享(函数VBA技巧)提取文件夹里面所有文件名称的三种方法,总有一种是你想要的...

每日Excel分享(函数VBA技巧)提取文件夹里面所有文件名称的三种方法,总有一种是你想要的...感谢关注导读方法:1:使用宏表函数FILES首先定义一个名为“获取文件名”的名称,引用位置输入:=FILES('F:\测试目录\*.*')然后在A2单元格输入公式=INDEX(获取文件名,ROW(A1)),公式下拉即可方法2:使用VBA代码操作方法:按ALT F11组合键打开VBE编辑器,选中任意一个工作表名点击右键,然后选择“插入——模块”,在模块中粘贴以下代码:Sub 提取指定文件夹内的所有文件名() '含所有子文件夹内的文件Dim Fso As Object, arrf$(), mf&, p$With Application.FileDialog(msoFileDialogFolderPicker)If .Show = False Then Exit Subp = .SelectedItems(1) & ''End WithSet Fso = CreateObject('Scripting.FileSystemObject')Call GetFiles(p, Fso, arrf, mf)[A2:A65536].Delete[A2].Resize(mf) = Application.Transpose(arrf)Set Fso = NothingEnd SubPrivate Sub GetFiles(ByVal sPath$, ByRef Fso As Object, ByRef arrf$(), ByRef mf&)Dim Folder As ObjectDim SubFolder As ObjectDim File As ObjectSet Folder = Fso.GetFolder(sPath)For Each File In Folder.Filesmf = mf 1ReDim Preserve arrf(1 To mf)arrf(mf) = NextFor Each SubFolder In Folder.SubFoldersCall GetFiles(SubFolder.Path, Fso, arrf, mf)NextSet Folder = NothingSet File = NothingEnd SubPS:上面代码来源于EH论坛。

VBS对文件夹操作

VBS对文件夹操作

VBS对文件夹操作注册regsvr32.exe %windir%/system32/scrrun.dll”//第一个问题你的FSO可能没注册,你在“开始”---“运行”中输入“regsvr32.exe %windir%/system32/scrrun.dll”然后回车,重新注册一下FSO控件。

//=====================<VBS对文件夹操作例子>(1)创建文件夹Dim fso, f'如果指定的文件夹已经存在,则会出现错误。

Set fso = CreateObject("Scripting.FileSystemObject")Set f = fso.CreateFolder("c:\New Folder")复制代码(2)删除文件夹Dim fso,filespecfilespec="D:\电影" '要删除的文件夹路径Set fso = CreateObject("Scripting.FileSystemObject")fso.DeleteFolder(filespec)'若删除只读文件夹则将上一行改为fso.DeleteFolder(filespec,true)复制代码(3)判断文件夹是否存在Dim fso,msg,ttSet fso = CreateObject("Scripting.FileSystemObject")fldr="C:\Documents and Settings" '文件夹路径和名字tt = fso.FolderExists(fldr) '存在返回true;不存在返回falseIf tt=true Thenmsg = fldr & " 存在。

VBS 批量读取文件夹内所有的文本到Excel的脚本

VBS 批量读取文件夹内所有的文本到Excel的脚本

VBS 批量读取文件夹内所有的文本到Excel的脚本复制代码代码如下:'This code is done by KangKang@Option explicit ‘This is optional, but better to use. Dim FolderPath,FolderDim fso,File,FilesDim fileNumsDim FileString()Dim iDim iii=0FolderPath="E:\TDDOWNLOAD\aa\"'**********************1.To create the FileSystemObject object********************************Set fso= CreateObject("Scripting.FileSystemObject")'This is the way to create FileSystemObjecy‘这句话在Excel VBA中也可以如此定义来引用FSO!'Scripting是类库的名字,filesystemobject是所引用的对 '象, 说明了此时VBA所用的对象不是自带的,而是引用 '外界的。

'**********************2.To create the Folder and File object*********************************If fso.FolderExists(FolderPath) ThenSet Folder = fso.GetFolder(FolderPath) 'This set command is neccessary!Set Files=Folder.FilesfileNums=Files.Count'Msgbox fileNumsFor Each File In Folder.Filesif right(,2)="rm" thenReDim Preserve FileString(i) 'This is a Dynamic Array, so we should use the Redim command'Be careful of the Preserve word, important FileString(i)='MsgBox i & " " & FileString(i)i=i+1fileNums=iNextEnd If'**********************3.Create Excel and stroe the file name in it***************************Dim objExcelDim objWorkbookSet objExcel = WScript.CreateObject("Excel.Application") objExcel.Workbooks.AddobjExcel.Visible=TrueSet objWorkbook = objExcel.ActiveWorkbookFor ii=1 to fileNumsobjWorkbook.Worksheets(1).Cells(ii,1)=FileString(ii-1) NextobjWorkbook.Worksheets(1).Range("A1:A1").Columns.AutoFit objExcel.DisplayAlerts = FalseobjWorkbook.SaveAs(FolderPath & "xiao.xls")objWorkbook.Close()'Close the WorkbookobjExcel.Quit()'QuitSet fso=Nothing'**********************4.Open the files and read thefirst line.******************************Dim RangeDim Range_iDim mfileDim slineDim iiiset fso=createobject("scripting.filesystemobject")Set objExcel = WScript.CreateObject("Excel.Application") objExcel.Visible=TrueobjExcel.Workbooks.open(FolderPath & "xiao.xls")Set objWorkbook = objExcel.ActiveWorkbookSet Range = objWorkbook.Activesheet.range("A1:A11")For Range_i=1 to fileNumsset mfile=fso.opentextfile(Range(Range_i).value)msgbox Range_i & " " & Range(Range_i).valuefor iii=1 to 1sline=mfile.readlineobjWorkbook.Worksheets(1).Cells(Range_i,2)=slinemfile.closeNextobjWorkbook.Worksheets(1).Range("B1:B1").Columns.AutoFit objExcel.DisplayAlerts = FalseobjWorkbook.SaveAs(FolderPath & "xiao.xls")objWorkbook.Close()'Close the WorkbookobjExcel.Quit()'QuitSet fso=Nothing。

(完整word版)VB如何获取某文件夹中所有文件的文件名

(完整word版)VB如何获取某文件夹中所有文件的文件名

1VB如何获取某文件夹中所有文件的文件名发布时间:2009—08—31 11:02:11 查看:509次字体:【大中小】法1 filelist控件在窗体中添加drive控件、dir控件和filelist控件,然后在窗体加入如下代码:’*********************************************************’ Get the path of the dwg files'********************************************************* Private Sub Dir1_Change()File1.Path = Dir1。

PathEnd Sub’*********************************************************' Get the path which contains the dwg files'*********************************************************Private Sub Drive1_Change()On Error GoTo driveerrorDir1。

Path = Drive1。

DriveExit Subdriveerror:MsgBox "驱动器错误!", vbExclamation, "Error"’Drive1。

Drive = Dir1。

PathEnd SubPrivate Sub Form_Load()File1.Pattern = "*。

dwg"'File1。

Visible = FalseEnd Sub上例只筛选*。

dwg的文件,你要是想要得到多有文件名<不含子文件夹>可以设为*。

*这样用File1.Tiem可得到那些文件名了。

VBA常用代码:批量获取指定文件夹下的文件名

VBA常用代码:批量获取指定文件夹下的文件名

VBA常⽤代码:批量获取指定⽂件夹下的⽂件名哈喽⼩伙伴们好,我是⼈见⼈爱的男神星光。

今天说说如何获取指定⽂件夹下⽂件的名称。

很久以前我们分享过DOS的⽅法,操作动画如下:VBA可以通过Wscript.Shell调⽤DOS语句,以后我们可能会分享到这部分内容~所以这⾥先简单说下动画中DOS语句的意思DIR *.*/B>LIST.TXTDIR可以简单理解成函数。

*.* *是通配符,第⼀个*是⽂件名,第⼆个*是⽂件格式。

如果只要excel⽂件,就修改为*.xls。

/b 是使⽤空格式,没有标题信息之类的。

list.txt是⽣成的⽂件类型和名字。

综上所述,如果是⽣成excel⽂件的⽬录,并以excel来呈现,命名为⽬录,语句就改为DIR *.xls/B >⽬录.xls..再说下VBA的⽅法,照例先上操作动画:代码的核⼼是DIR语句,注释部分业已作了解释,这⾥就不再啰嗦了。

Sub FileDir()Dim p$, f$, k&'获取⽤户选择⽂件夹的路径With Application.FileDialog(msoFileDialogFolderPicker)'选择⽂件夹.AllowMultiSelect = False'不允许多选If .Show Thenp = .SelectedItems(1)'选择的⽂件路径赋值变量PElseExit Sub'如果没有选择保存路径,则退出程序End IfEnd WithIf Right(p, 1) <> '\' Then p = p & '\'f = Dir(p & '*.*')'返回变量P路径下带任意扩展名的⽂件名。

如果超过⼀个⽂件存在,函数将返回按条件第⼀个找到的⽂件名。

'如果⼀个⽂件都没有,则f返回''[a:a].ClearContents '清空A列数据[a1] = '⽬录'k = 1 'KDo While f <> '' '如果f不等于'',则……k = k + 1 '累加KCells(k, 1) = ff = Dir' 若第⼆次调⽤ Dir 函数,但不带任何参数,则将返回同⼀⽬录下的下⼀个⽂件。

Python-获取指定路径下的所有文件及文件名

Python-获取指定路径下的所有文件及文件名

Python-获取指定路径下的所有文件及文件名Python-获取指定路径下的所有文件及文件名import osimport glob方法1:os.walk(top, topdown=Ture, onerror=None, followlinks=False) 通过该函数可以得到一个三元元组(dirpath, dirnames, filenames).dirpath:表示获取的目录的路径,以string形式返回值。

dirnames:包含了当前dirpath路径下所有的子目录名字(不包含目录路径),以列表形式返回值。

filenames:包含了当前dirpath路径下所有的非目录子文件的名字(不包含目录路径)。

返回指定路径下的子目录及文件及i子文件名,包含子目录。

path1 = r"C:\Users\11764\Desktop\Data"f = os.walk(path1)for dirpath,dirnames,filenames in f:print(dirpath)print(dirnames)print(filenames)output:C:\Users\11764\Desktop\Data['2020-09-16', '2020-10-11']['baidu_index_0625.xlsx', 'city_id.xlsx', 'city_index_0625.xlsx', ' province_id.xlsx', 'province_index_0625.xlsx']C:\Users\11764\Desktop\Data\2020-09-16[]['2020_10_11drowplot.xlsx', 'DataAnalyst.csv', 'PCP V1 自动文库建库信息统计表-20200905.xlsx']C:\Users\11764\Desktop\Data\2020-10-11[][]方法二:os.listdir( ) 函数得到的是仅当前路径下的文件名,不包括子目录中的文件,所有需要使用递归的方法得到全部文件名。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档