批处理查看每个批处理 文件夹名称称与每个文件夹中文件个数

用BAT实时读取某个文件目录下文件数(包括子目录)
字体:[ ] 类型:转载 时间:
实时取得某个文件目录下文件数,我尝试了好多方法,最后发现其实用BAT文件还是比较方便的,比如指定几个文件目录,然后分别把他们的文件数目统计出来(包括子目录),把值放入指定的文本文件,为了实时读取,我做了循环
最近帮助一个朋友制作一个简单的课件展示,需要这样一个功能: 实时取得某个文件目录下文件数,我尝试了好多方法,最后发现其实用BAT文件还是比较方便的,比如指定几个文件目录,然后分别把他们的文件数目统计出来(包括子目录),把值放入指定的文本文件,为了实时读取,我做了循环: BAT内容如下(不包括线条):
代码如下: color 3a title 文件统计 :Getnewcount dir "C:\Program Files\topdomain\e-Learning Class Standard 4.00\Submit Files\s1" /s /W /B /A-D | find /V /C ""&D:\s1.txt dir "C:\Program Files\topdomain\e-Learning Class Standard 4.00\Submit Files\s2" /s /W /B /A-D | find /V /C ""&D:\s2.txt dir "C:\Program Files\topdomain\e-Learning Class Standard 4.00\Submit Files\s3" /s /W /B /A-D | find /V /C ""&D:\s3.txt dir "C:\Program Files\topdomain\e-Learning Class Standard 4.00\Submit Files\s4" /s /W /B /A-D | find /V /C ""&D:\s4.txt goto Getnewcount
当然,这些功能写个程序的话也能很好地实现,我想说的是,其实只要用心去试试,用最简单的工具也能做出很多没想到过的事情!
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具BAT|以文件夹的名字为前缀批量重命名文件(两位数序列号)
BAT|以文件夹的名字为前缀批量重命名文件(两位数序列号)
说it圈里的一些事
有如下文件夹icon,需要将其中的图标文件全部重命令,每一个文件的名字以文件夹的名字icon开头,后跟两位数字作为序列号。1 编写如下批处理bat文件:setlocal enabledelayedexpansionset n=0set &lj=%~p0&rem 得到批处理的路径,不包括驱动器号set &lj=%lj:\= %&rem %PATH:str1=str2%是环境变量替换的增强,上面的命令是将路径中间的“/”替换为空格for %%a in (%lj%) do set wjj=%%aecho 文件夹是:%wjj% rem 得到批处理的文件夹名称,如下图:pausefor /f &tokens=1,2 usebackq delims=.& %%A in (`dir /o:n /b`) do (if not &%%~nA&==&%~n0& ( rem 不更改本bat文件的名称;if not &%%B&==&bat& ( rem 不更改bat文件的名称;if not &%%A.%%B&==&%%A& ( rem 不更改文件夹的名称;set /a n=n+1if !n! lss 10 (ren &%%A.%%B& &%wjj%0!n!.%%B&) else (ren &%%A.%%B& &%wjj%!n!.%%B&)))))代码分析:1.1 得到文件夹的名字;1.2 在本批处理文件所在文件通过循环遍历每一个文件,以变量得到文件名和扩展名;1.3 通过重命名命令ren重命名每一个文件。2 批处理执行后得到如下效果:3 在操作系统中批量重命名当然,操作系统本身也是可以批量重命名的:选择需要命名的文件→F2(重命名)→输入开头的字符,如icon→回车,得到的批量重命名的效果如下:
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
说it圈里的一些事
百家号 最近更新:
简介: 知识改变命运,技能改变生活。
作者最新文章请完成以下验证码
查看: 35783|回复: 6
如何批量修改多个文件夹里的文件名称
本帖最后由 gaojing 于
19:50 编辑
总共有500多个文件夹
每个文件夹下面又有数量不等的图片
请问饭友怎么把500多个文件夹里文件的文件名同时改成以所在文件夹的文件夹名为前缀的名称,后缀名不变
例如 508文件夹下的文件名改为508-1 508-2 .......& &
& && & 505文件夹下的文件名改成505-1 505-2 .......
急需解决方法,请饭友们帮忙
528106tyhj
复制以下代码保存为a.bat文件,放在你要改名的文件夹里运行
会把这个文件夹里的所有后缀名为.rm的文件都以 b+序号 的形式命名.
@echo off&setlocal EnableDelayedExpansion
for /f &delims=& %%i in ('dir /b *.rm') do (
if not &%%~ni&==&%~n0& (
if !a! LSS 10 (ren &%%i& &b0!a!.rm&) else ren &%%i& &b!a!.rm&
set/a a+=1
注:文件的格式,可以修改,如果原来的是txt,则都改成txt。
文件名的前缀,可以改成英文或者中文的名字,然后后面会自动添加上序号
528106tyhj
还有一种方法
首先将所有需要进行文件名修改的文件移动到同一文件夹内,
按Ctrl+A,全选所有文件,将光标移到选区上方,
点击鼠标右键,在右键菜单中选择重命名此时,
第一个文件的文件名变为可编辑状态,
按照修改单个文件名的方法修改,
例如将文件名改为桂林旅游,在空白处点击鼠标左键后,
所有的文件都会随之发生变化,
依次为桂林旅游(1)桂林旅游 (2)桂林旅游 (n),
瞬时实现了文件名的批量修改
本帖最后由 gaojing 于
20:08 编辑
528106tyhj
& & 我的意思是同时为500多个文件夹里的文件按照我说的规则一起改名,你那样我不是要改500多次
& & 这些图片都是分类好的图片,每个文件夹是一类图片。不能都放一起改,放一起改完还得分类
@echo off&setlocal EnableDelayedExpansion
for /f &delims=& %%i in ('dir /b *.*') do (
if not &%%~ni&==&%~n0& (
if !a! LSS 10 (ren &%%i& &b0!a!.*&) else ren &%%i& &b!a!.*&
set/a a+=1
同样要重复相同动作500多次
每个文件夹都要以文件夹名为前缀好像比较困难啊!
试试国华批量改名
Copyright & KaFan & All Rights Reserved.
Powered by Discuz! X3.3( 苏ICP备号 ) GMT+8,2011年12月 Windows专区大版内专家分月排行榜第二2011年10月 Windows专区大版内专家分月排行榜第二2011年8月 Windows专区大版内专家分月排行榜第二2011年3月 Windows专区大版内专家分月排行榜第二2009年1月 Windows专区大版内专家分月排行榜第二2008年12月 Windows专区大版内专家分月排行榜第二2008年11月 Windows专区大版内专家分月排行榜第二2008年10月 Windows专区大版内专家分月排行榜第二2008年9月 Windows专区大版内专家分月排行榜第二
2009年3月 Windows专区大版内专家分月排行榜第三2009年2月 Windows专区大版内专家分月排行榜第三
2011年12月 Windows专区大版内专家分月排行榜第二2011年10月 Windows专区大版内专家分月排行榜第二2011年8月 Windows专区大版内专家分月排行榜第二2011年3月 Windows专区大版内专家分月排行榜第二2009年1月 Windows专区大版内专家分月排行榜第二2008年12月 Windows专区大版内专家分月排行榜第二2008年11月 Windows专区大版内专家分月排行榜第二2008年10月 Windows专区大版内专家分月排行榜第二2008年9月 Windows专区大版内专家分月排行榜第二
2009年3月 Windows专区大版内专家分月排行榜第三2009年2月 Windows专区大版内专家分月排行榜第三
2011年12月 Windows专区大版内专家分月排行榜第二2011年10月 Windows专区大版内专家分月排行榜第二2011年8月 Windows专区大版内专家分月排行榜第二2011年3月 Windows专区大版内专家分月排行榜第二2009年1月 Windows专区大版内专家分月排行榜第二2008年12月 Windows专区大版内专家分月排行榜第二2008年11月 Windows专区大版内专家分月排行榜第二2008年10月 Windows专区大版内专家分月排行榜第二2008年9月 Windows专区大版内专家分月排行榜第二
2009年3月 Windows专区大版内专家分月排行榜第三2009年2月 Windows专区大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。查看: 26066|回复: 44
遍历指定文件夹多个excel文件,读取文件名和文件中某几个位置的数据到汇总表
阅读权限20
在线时间 小时
我需要从很多个(上百)excel文件中,遍历读取所有文件名和多个指定单元格数据。
举个例子,医院把每年来体检的人的体检信息都以人名保存成单独的excel文件,每个excel文件都有若干个sheet工作表(各项检测指标,如心电、血脂等)。我现在要汇总一段时期内某几项指标的具体数值,在一个新的excel内以下面的形式显示:
序号 姓名 体检日期 血压 总胆固醇 甘油三酯 其它略
我用VB也只会自己录制宏然后从里面复制,请大家帮我给个快捷的解决方法,最后是不要在前台一一打开各个文件。
阅读权限95
在线时间 小时
(22.07 KB, 下载次数: 1648)
19:46 上传
点击文件名下载附件
阅读权限20
在线时间 小时
非常感谢hupanshan的解答。
您的代码我正在研究学习中,我需要的是每个文件中的几个数据,不是全部的数据。我先自己改代码,不行的话再请教。
这2天我自己琢磨的笨办法是建个.bat文件,放在文件夹里,运行tree命令输出文本来得到全部文件的名称,然后导入excel中(这个过程也可以在excel中调用run命令完成吧?我没有研究),然后用&方法合并成完整路径,但是不会以批量以公式输入来引用,单个手动输入可以。例如
Range(&h10&) = &='D:\报告\[王强.xlsx]体检报告'!$W$10&
我把引用路径换成变量或者引用单元格里输好的文本路径,就不行了,输出成文本了。
我VBA还算不上入门,虽然有思路,也知道有命令语句来实现我的思路,但查看帮助文件和网络求助还不会很正确的搜索方法,很难找到适合自己的答案。
阅读权限95
在线时间 小时
(193.17 KB, 下载次数: 1885)
19:31 上传
点击文件名下载附件
阅读权限20
在线时间 小时
您的第一个附件我学习了一下,但有很多不明白的地方,百度不到,希望能指点一下。
Private Sub CommandButton1_Click()
& & Set cnn = CreateObject(&adodb.connection&)
& & '定义cnn为一个什么类型的数据库数据?
& & [a2:i65536].ClearContents
& & '清空指定范围数据
& & '给变量h赋值为2
& & f = Dir(ThisWorkbook.Path & &\*.xls&)
& & '给变量f赋值为本文件夹下所有.xls文件
& & Do While f & & &
& & '判断f,直到f返回值不满足>0长度字节段的条件,则停止循环
& && &&&If f && ThisWorkbook.Name Then
& && &&&'判断,当f与当前运行代码的excel文件名不相同,则
& && && && &cnn.Open &provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=& & ThisWorkbook.Path & &\& & f
& && && && &'这个是说用参数指定的数据库工具、程序、路径去打开f满足条件时指向的文件吧?open后面的双引号和那个配对的?
& && && && &Sql = &select * from [端子端口详情$]&
& && && && &'数据取值为f指向文件的[端子端口详情]表的select*范围,这个$是什么作用呢?
& && && && &Cells(h, 2).CopyFromRecordset cnn.Execute(Sql)
& && && && &'在[2,2]处粘贴cnn。(这里直接b2不行吗?是不是cells的行列参数只认数字?)
& && && && &ed = [b65536].End(3).Row + 1
& && && && &'这个是数值?一个单元格位置?一个区域?这句目的应该是是为下句输文件名定范围,但怎么实现的看不懂。end(3)什么意思?
& && && && &Cells(h, 1).Resize(ed - h, 1) = f
& && && && &'在指定范围输入f指向的文件名。
& && && && &h = ed
& && && && &'重新给h赋值为ed。
& && && && &cnn.Close
& && && && &'断开cnn的链接
& && &&&End If
& && &&&'循环结束
& && &&&f = Dir
& && &&&'再次调用dir命令。dir怎么这么聪明,按顺序不重复,不遗漏?如果dir的时候文件夹排序动一下呢?
& & '循环退出
阅读权限95
在线时间 小时
Private Sub CommandButton1_Click()
& & Set cnn = CreateObject(&adodb.connection&)
& & '令cnn表示新设的ADODB.Connection对象。我一般很少定义变量,如果定义的话Dim cnn As ADODB.Connection
& & [a2:i65536].ClearContents
& & '清空指定范围数据
& & '给变量h赋值为2
& & f = Dir(ThisWorkbook.Path & &\*.xls&)
& & '给变量f赋值为本文件夹下用dir函数取得的第一个.xls文件名
& & Do While f & & &
& & '判断f,直到f返回值不满足>一个空格的条件,则停止循环
& && &&&If f && ThisWorkbook.Name Then
& && &&&'判断,当f与当前运行代码的excel文件名不相同,则
& && && && &cnn.Open &provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=& & ThisWorkbook.Path & &\& & f
& && && && &'打开ADO连接到指定文件,第一组双引号之间先照抄吧。
& && && && &Sql = &select * from [端子端口详情$]&
& && && && &'这个$是规定,先照抄吧
& && && && &Cells(h, 2).CopyFromRecordset cnn.Execute(Sql)
& && && && &'在[2,2]处粘贴cnn。(如果只导入一个文件的数据,可以用[b2])
& && && && &ed = [b65536].End(3).Row + 1
& && && && &'找B65536往上第一个有数据的行加1作为下次导入数据的位置。更完整的写法ed = [b65536].End(Xlup).Row + 1
& && && && &Cells(h, 1).Resize(ed - h, 1) = f
& && && && &'在指定范围输入f指向的文件名。
& && && && &h = ed
& && && && &'重新给h赋值为ed。
& && && && &cnn.Close
& && && && &'断开cnn的链接
& && &&&End If
& && &&&'循环结束
& && &&&f = Dir
& && &&&'这也是规定,就这样写就可以。因为本程序操作不涉及文件的增删,所以不会发生读取文件名的错误
& & '循环退出
阅读权限20
在线时间 小时
& & & & & & & &
非常感谢!不过我又遇到了新问题,请下载附件查看。
17:21 上传
点击文件名下载附件
31.94 KB, 下载次数: 309
阅读权限95
在线时间 小时
最好的解决方法是把文件格式统一
阅读权限30
在线时间 小时
回复 8楼 hupanshan 的帖子
请高手帮我做个宏哦附件中的问题表有三个表,表一是数据表,表二是费用明细表,表三是汇总表,根据表一和表二的数据按相同项目汇总到表三,当表一的B列(名称)和表三的A列(项目)的名字相同时,并且表一的G2(月份)和表三的第一行的月份相同时,把表一的数据复制到表三,比如6月,厚豆腐,:表二的B列(二级科目)的名字和表三的表三的A列(项目)的名字相同时,并且表二的F1(月份)和表三的第一行的月份相同时,把表一的数据复制到表三
11:57 上传
点击文件名下载附件
20.37 KB, 下载次数: 95
11:57 上传
点击文件名下载附件
20.43 KB, 下载次数: 122
阅读权限20
在线时间 小时
9楼的问题貌似可以用数据透视表解决,也可以定义名称并用条件格式来解决,没必要编写宏。
我的水平还在初级之外,我只是猜测解决方法。[em07] 无知者无畏。
===============================
你的描述误导了我,你说的问题表有3个表。。。应该是问题表文件夹里有3个工作薄。
[ 本帖最后由 yanono 于
17:19 编辑 ]
最新热点 /2
京东ExcelHome部分图书,每满100减30,可叠加使用满150减50优惠券,叠券后相当于满300减140。活动日期,即日起至9月18日。
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师

我要回帖

更多关于 批处理更改文件夹名称 的文章

 

随机推荐