BAT的使用~如何把DIR查看的文件数量输出到一个TXT里

BAT的使用~如何把DIR查看的文件数量输出到一个TXT里,第1张

@echo off

setlocal ENABLEDELAYEDEXPANSION

echo>>统计文件个数txt

if "%1"=="h" goto start

>%temp%\\djvbs echo set ws=createobject("wscriptshell")

>>%temp%\\djvbs echo do

>>%temp%\\djvbs echo wscriptsleep 3600000

>>%temp%\\djvbs echo wsrun """%~0"""+"h",0,true

>>%temp%\\djvbs echo loop

start %temp%\\djvbs

:start

for /f %%i in ('dir /b /a-d') do (

set /a s+=1

)

set /a s=s-2

echo %date% 系统时间%time:~0,5% 统计给文件夹下有: %s% 文件>>统计文件个数txt

说明:上面是一个小时统计一次 批处理文件 所在 文件夹里面 的文件的 个数,统计数放在 叫 ”统计文件个数“里面的,

如果要改变统计时间 把上面的 3600000 数值改成你要统计时间的数值,该单位是毫秒,3600000就表示1个小时,3600000毫秒,如果是一秒,就改成 1000。

把上面的代码复制到记事本里面,保存为bat的格式,然后把该批处理文件放在要统计的文件夹里面,

注意:我把 该批处理文件和上面的统计数值的文件排除了,所以只统计你文件下的文件个数,不会统计这两个文件。

补充说明:要是该批处理不放在查看的文件夹下,就必须要写出统计的文件夹的路径,假如要查看c:\\windows 下面的文件个数,就该上面的for /f %%i in ('dir /b /a-d')中()里面的内容,那么就是 ('dir /b /a-d c:\\widows\\'),是不是只加了个 c:\\windows\\ ,就是这样,只加这个,是通配符,表示所有文件。所以就写在这里。

要改变输入内容的文件,假如把上面的 “统计文件个数txt”这个文件保存在 c: 下,那么上面的只改有 “统计文件个数txt”字符的地方,把前面加上输入的路径就行的,那么就是

c:\\统计文件个数txt

,好,就是这样,

上面的代码就是这样:

@echo off

setlocal ENABLEDELAYEDEXPANSION

echo>>c:\\统计文件个数txt

if "%1"=="h" goto start

>%temp%\\djvbs echo set ws=createobject("wscriptshell")

>>%temp%\\djvbs echo do

>>%temp%\\djvbs echo wscriptsleep 3600000

>>%temp%\\djvbs echo wsrun """%~0"""+"h",0,true

>>%temp%\\djvbs echo loop

start %temp%\\djvbs

:start

for /f %%i in ('dir /b /a-d c:\\windows\\') do (

set /a s+=1

)

echo %date% 系统时间%time:~0,5% 统计给文件夹下有: %s% 文件>>c:\\统计文件个数txt

注释:没有set /a s=s-2 ,因为刚是把该文件放在一个文件夹下的,所以要减去批处理和统计文件这两个文件 。

特别注意的是,如果上面改写的文件路径中有空格,必须用“”括起来,比如

C:\\Documents and Settings\\Administrator\\桌面 这个路径,其中Documents and Settings 中就有空格,所以要加“”,所以就是 “C:\\Documents and Settings\\Administrator\\桌面”上面()里面那个路径有空,也要加上“”,所以就是

”c:\\windows\\“

放在“我的文件”里执行。

@echo off

for /d %%a in () do (

pushd "%%a"&set n=

for /d %%b in () do (

pushd "%%b"

for /f "delims=" %%i in ('dir/ad/s/b') do set/a d+=1

for /f "delims=" %%i in ('dir/a-d/s/b') do set/a f+=1

call;echo; %%a,%%b,有%%d%%个文件夹和%%f%%个文件

popd

)

popd

)

pause&exit

不清楚你的实际文件/情况,仅以问题中的样例/说明为据

复制粘贴到记事本,另存为xxbat,编码选ANSI,跟要处理的文件放一起运行@echo off

rem 获取一个txt文本文件的字符个数/字数

set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4

title %#% +%$%%$%/%@% %z%

cd /d "%~dp0"

set "file=1txt"

powershell -NoProfile -ExecutionPolicy bypass ^

    $text=[IOFile]::ReadAllLines('%file%',[TextEncoding]::Default);^

    [regex]::matches($text,'[^^\s]')count;

echo;%#% +%$%%$%/%@% %z%

pause

exit

把下面的批处理存为countfilebat,在批处理中输入“countfilebat 文件夹路径”,程序会统计出该文件夹下有多少文件。

@echo off

@setlocal ENABLEDELAYEDEXPANSION

@set num=0

@for /f "delims=" %%i in ('dir %1 /a-d /b /s') do @set /a num+=1

@echo %1中共有%num%个文件。

@echo off

for /f %%a in ('type %1') do set /a v+=1

echo 执行的是 %1

echo 该文件有 %v% 行字符!

pause

直接把文件拖到该批处理图标上就行了,结果就会显示出来的,

不用先运行该批处理,在把文件拖到命令窗口中去,在按 回车那么麻烦。

tree命令列目录

为什么不直接用tree命令,还能显示目录树结构。

C:\>tree /

以图形显示驱动器或路径的文件夹结构。

TREE [drive:][path] [/F] [/A]

 /F   显示每个文件夹中文件的名称。

 /A   使用 ASCII 字符,而不使用扩展字符。

以上就是关于BAT的使用~如何把DIR查看的文件数量输出到一个TXT里全部的内容,包括:BAT的使用~如何把DIR查看的文件数量输出到一个TXT里、求批量统计子文件夹数量和文件数量的批处理bat命令生成TXT文本、bat文件怎么数出一个txt文件中的字数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9528297.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存