用一批处理统计某文件夹中文件的个数是多少?

用一批处理统计某文件夹中文件的个数是多少?,第1张

方法:

1、打开你说的那个指定文件夹,然后鼠标右键点击,选择排列图标,然后选择子菜单中的"类型", 然后选中一个类型的所有文件"删除"(注意别真删除了) 然后系统会提示"你确定要将这xx多少项放入回收站吗?" xx项就是文件个数了。

2、求一个批处理命令,生成一个txt文本,只统计大文件夹里每个小文件夹中的文件数量就可以了。

格式为 :文件夹名 数量

@echo off  

set "file=C:\Users\lytz\Desktop\C常用\bat"

for %%a in (%file%) do for /f "delims=" %%b in ('dir /a-d/b/s *') do (   

echo %%b  

)   

pause

上面的只是查看,如果要查看bat文件的当前目录,可以指定file=./

如果想要将文件列表信息导入list.txt文本中,如下,目录同样可以修改:

@echo off  

set "file=C:\Users\lytz\Desktop\C常用\bat"

if exist list.txt ( del list.txt )  

  

for %%a in (%file%) do for /f "delims=" %%b in ('dir /a-d/b/s *') do (   

echo %%b >>list.txt   

)   

pause

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

编了个批处理把文件50个一分组,现在遇到个小麻烦,就是不能确定文件夹内文件数目,所以在第一句加了个set,每次要改数字,非常麻烦。现在想要要他根据文件数目自动得到c值:举个例子。如果文件数=140那么就返回c=101 如果文件数=2530 那么就返回2501,就是如果此数在**1-**50或**51-**00之间就返回前一个数字(**1或**51),这样就可以让此批处理最高效率执行,各位高手们多多帮忙,谢谢了

Set c=1951

Set a=1

Set b=50

:MDFolders

md %a%-%b%

if %a%==%c% goto next

Set /a a=%a%+50

Set /a b=%b%+50

goto :MDFolders

:next

Set a=%c%

Set /a b=%a%+49

:MoveFiles

for /L %%q in (%a%,1,%b%) do move *%%q.* %a%-%b%\

Set /a a=%a%-50

Set /a b=%b%-50

if %a%==1 goto end

goto MoveFiles

:end

dir /ad/b/s |sort /r >kill.txt

For /f "tokens=*" %%i in (kill.txt) DO rd "%%i"

del *.* /q

解析:

只是要得到某文件夹下的文件数的话

我想可以使用dir命令来实现

假设目录为C:\的话

那么可以使用以下语句得到

C盘下的文件数目(包括隐藏或系统文件)

dir C:\ /W /B /A-D | find /V /C ""

欲将结果保存到变量C中的话

可以使用以下语句

dir C:\ /W /B /A-D | find /V /C "">D:\_tmp.txt

set /P c=<D:\_tmp.txt

del D:\_tmp.txt

这样%c%中就存储了文件的数目

注意:

之所以使用D:\_tmp.txt而非简单的_tmp.txt

是因为简单的使用_tmp.txt

会在当前目录下生成一个多余文件

如果要处理当前目录的话

将形成干扰


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存