求用一批处理统计某文件夹中文件的个数

求用一批处理统计某文件夹中文件的个数,第1张

1、首先打开电脑桌面,点按win+r键打开命令窗口,在输入cmd点击确定。

2、首先输入python打开python环境。

3、然后按照图示代码输入导入os模块,import os。

3、然后按简瞎照图示代码输入定义一个文件的路径DIR = "D:/WPS"。

4、输出文件夹拦段空内的文件个数print("文件夹内文件的个数:",len(os.listdir(DIR)))

5、循环输出各个燃游文件的名称for name in os.listdir(DIR):  print(os.path.join(DIR,name))。

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

问题描述:

编了个批处理把文件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/12141784.html

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

发表评论

登录后才能评论

评论列表(0条)

保存