如何统计某个指定文件夹图标什么格式内各种格式文件的数量多少?好的再加分

如何统计某个指定文件夹内各种格式文件的数量多少?好的再加分_百度知道获得一个文件夹内的所有子目录_百度知道求批处理统计文件夹内的所有文件的数量和总大小(精确到M) - BAT求助&讨论 -
批处理之家 批处理_BAT_CMD_DOS_VBS_Perl_Python_PowerShell - Powered by Discuz!
帖子83&积分19&技术0 &捐助0 &注册时间&
求批处理统计文件夹内的所有文件的数量和总大小(精确到M)
求统计文件夹内的所有文件的数量和总大小(精确到M) 写到新生成的一个txt汇总文件
例如&&文件夹A1里有 12个文件(不管什么类型的文件 全部统计)21M
& && &&&文件夹B2里有 24个文件 33M
& && &&&文件夹C3里有 39个文件 43M
& && &&&文件夹D4里有 54个文件103M&&………………
经过批处理后 写入到一个txt文本里 ——(以下为文本统计格式内容)
A1 12个21M
B2 24个33M
C3 39个43M
D4 54个103M&&………………
帖子83&积分19&技术0 &捐助0 &注册时间&
跪求大神支招 继续在线等
帖子598&积分990&技术49 &捐助0 &注册时间&
有时间等没时间自己学么。
帖子83&积分19&技术0 &捐助0 &注册时间&
我又不是学电脑的 我只是个律师而已 一点基础都没有的 只是来寻求帮助
帖子83&积分19&技术0 &捐助0 &注册时间&
& & 我又不是学电脑的 我只是个律师而已 一点基础都没有的 只是来寻求帮助
帖子598&积分990&技术49 &捐助0 &注册时间&
crownking1983
& & 别找借口了。即使是程序员里也有有很大比例不是学计算机出身了。
帖子17&积分37&技术3 &捐助0 &注册时间&
for /f &tokens=1,2,3,4& %%i in ('dir %1^|findstr /c:&个文件&') do (echo %1 %%i%%j %%k%%l)复制代码
帖子1757&积分8709&技术342 &捐助0 &注册时间&
@if(0)==(0) echo off
set &ph=C:\TEST&
if exist &%ph%\& CScript -NoLogo -E:JScript %0 &%ph%& &new_files.txt
pause & exit
@end
var m=1048576,fso=new ActiveXObject(&Scripting.FileSystemObject&);
var Folder=fso.GetFolder(WSH.Arguments.Count()?WSH.Arguments.Item(0):&.&);
function folders (F, num){
&&for(var e=new Enumerator(F.Files);!e.atEnd();e.moveNext()){
& &&&num++;
&&}
&&
}
for(var e=new Enumerator(Folder.SubFolders);!e.atEnd();e.moveNext()){
& &var F = e.item();
& &var n = folders(fso.GetFolder(F.Path),0);
& &WSH.Echo(F.Name,&\t&, n, &个文件\t&, (F.size/m).toFixed(2));
}复制代码
帖子5988&积分17945&技术846 &捐助100 &注册时间&
哈哈,Demon 也是律师
别人我不太清楚,不过管理层大半都不是学电脑的
不过这个需求确实不指望新手自己捯饬捯饬就能解决
帖子598&积分990&技术49 &捐助0 &注册时间&
& & 论坛里的伸手党都同一群人。= =看到直接问让写好完整代码的都想吐槽。
帖子342&积分696&技术114 &捐助0 &注册时间&
本帖最后由 WHY 于
09:40 编辑
@if (0)==(0) echo off
pushd D:\TEST\
(for /d&&%%i in (*) do (
& & set /p &=%%i &
& & dir /s /-c /a &%%i\& | cscript //nologo //e:jscript &%~0&
))&nul
pause & exit
@end
var re = /(所列文件总数|Total Files Listed):\r\n\s+(\d+).*?(\d+)/;
var ar = WSH.StdIn.ReadAll().match(re);
WSH.Echo(ar[2] + '个 ' + Math.round(ar[3]*100/0 + 'MB')复制代码空目录的话, dir /s /-c /a-d 就挂了~
帖子83&积分19&技术0 &捐助0 &注册时间&
求改良BAT(统计文件夹内的所有文件的数量和总大小)
求高手修改改良我写的这段BAT命令 (统计文件夹内的所有文件的数量和总大小 然后汇总到一个新txt文本里)@echo off
setlocal enabledelayedexpansion
(for /d %%a in (*) do (
& & set/a n=z=0
& & pushd &%%a&
& & for %%b in (*.*.) do (
& && &&&set/a n+=1,z+=%%~zb
& & )
& & set/a &z&&=20&
& & popd
& &%%a [!n!个!z!M]
))&统计结果.txt
pause复制代码以上是我哥们写的,但是处理时遇到一个问题,就是执行该命令后只能统计文件夹内的第一层目录的文件情况,但是里面的子文件夹不能一并统计。我哥们现在去外地了
求高手帮个忙修改一下这个bat命令,实现执行后统计文件夹内包含所有文件及所有子文件夹下的文件,以及子文件夹下的子文件夹下的文件,以及子文件夹下的子文件夹下的子文件夹下的文件…………
帖子170&积分246&技术17 &捐助0 &注册时间&
本帖最后由 慕夜蓝化 于
18:16 编辑
@echo off
setlocal enabledelayedexpansion
(for /f “delims=” %%i in ('dir /s/b/l/ad') do (
cd &%%~fsi&
set/a a=0,n=0
for /f &delims=& %%a in ('dir /b/l/aa') do (
set/a a+=1,n+=%%~za 2&nul
)
set/a n/=1048576
echo.%%~fi : !a! : !n!MB
)) &统计结果.txt
pause复制代码MB不支持小数位,文件过小会显示为零,可以删除set/a n/=1048576复制代码并删除MB改为字节。
或者使用KB,修改为set/a n/=1024
echo.%%~fi : !a! : !n!KB复制代码
踏实一些点.不要着急.你想要的时间都会给你.
帖子170&积分246&技术17 &捐助0 &注册时间&
@echo off
setlocal enabledelayedexpansion
for /f &delims=& %%i in ('dir /s/b/l/ad') do (
set/a n=0,r=0
cd &%%~fsi&
for /f &tokens=3& %%a in ('dir /aa') do (
set n=!a!
set a=%%a
set/a r+=1
)
echo.%%i:文件数量:!r! 总大小:!n!
)
pause复制代码钻了空子。
踏实一些点.不要着急.你想要的时间都会给你.
帖子396&积分1051&技术30 &捐助100 &注册时间&
本帖最后由 wankoilz 于
22:03 编辑
用纯批处理在数字计算上受限制,这个问题用批处理结合awk倒是简单:
需拖拽执行# & cls & (for /f &delims=& %%a in ('dir/a-d/b/s %1') do @echo %%~za) | gawk -v path=%~n1 -f %0 &con & pause & exit
{sum+=$0}
END{
	printf &%s文件夹总大小为: \n%.2f byte\n%.2f MB\n%.2f GB\n&,path,sum,sum/,sum/24
}复制代码gawk 4.1.0 下载地址:
[通过 QQ、MSN 分享给朋友]Shell(1)
环境: Ubuntu下采用shell脚本实现
案例简述: 文件夹内有许多子文件夹,这里需要自动读取所有的文件,包括他们的地址和文件名。通过观察文件名的规律,按照一定的规则裁剪出文件名的某一部分,该部分为数字,则根据数字的大小统计该文件夹内文件在各个数据段的数量。
1.这里写一个函数,实现对文件夹内所有文件名的读取,采用的方法是递归!
#!/bin/bash
function readfile ()
for file in `ls $1`
if [ -d $1"/"$file ]
readfile $1"/"$file
echo $1"/"$file
echo `basename $file`
folder="./test"
readfile $folder
2.这里实验了初始化变量和变量赋值
#!/bin/bash
if [ $a -lt $b -a $a -gt $c ]
a=$(($a + 2))
a=$(($a + 1))
a=$(($a+ 4))
echo "hehe!"
elif [ $a -lt $b ]
echo $(($a + 100))
a=$(($a + 12))
echo "a is:"$a
echo "hello world!"
echo "i dont know"
3.综合实验
function readfile ()
for file in `ls $1`
if [ -d $1"/"$file ]
readfile $1"/"$file
temp=`basename $file`
var=${temp##*M}
var1=${var%.*}
var2=${var1%a*}
var3=${var2%b*}
var4=${var3%c*}
var5=${var4%d*}
var6=${var5%e*}
var7=${var6%f*}
var8=${var7%g*}
if [ $var8 -le 10 ]
a10=$(($a10 + 1))
elif [ $var8 -gt 10 -a $var8 -le 20 ]
a20=$(($a20 + 1))
elif [ $var8 -gt 20 -a $var8 -le 30 ]
a30=$(($a30 + 1))
elif [ $var8 -gt 30 -a $var8 -le 40 ]
a40=$(($a40 + 1))
elif [ $var8 -gt 40 -a $var8 -le 50 ]
a50=$(($a50 + 1))
elif [ $var8 -gt 50 -a $var8 -le 60 ]
a60=$(($a60 + 1))
a70=$(($a70 + 1))
folder="/home/cc/Age/data/MORPH"
readfile $folder
这里将该脚本保存为1.sh,在执行的时候如果用指令sh 1.sh则会报里面内容或者语法出错。笔者为此迷惑了很久,最终查找资料找到的解决办法是:
a) 首先,使sh文件为可执行文件,命令: chmod +x 1.sh;
b) 然后在终端直接执行./1.sh就可以执行。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:12018次
排名:千里之外
原创:68篇
(1)(4)(8)(1)(6)(12)(23)(4)(10)(2)(1)(1)(2)
轻松、愉悦的学习、生活。

我要回帖

更多关于 文件夹图标什么格式 的文章

 

随机推荐