标题: [文件操作] [已解决]批处理;帮忙修改统计日志文件个数的代码 [打印本页]
作者: a6236130 时间: 2018-7-6 20:10 标题: [已解决]批处理;帮忙修改统计日志文件个数的代码
本帖最后由 a6236130 于 2018-7-8 22:46 编辑
下面两个批处理,我需要将脚本的所在位置往上调一级,请问怎么改?求具体代码
第一个批处理:- @echo off
- echo 正在统计中。。。
- (for /d %%a in (*) do (
- pushd "%%~a"
- for /d %%b in (*) do (
- pushd "%%~b"
- call set Num=0
- for /r %%c in (*) do (
- call set /a Num+=1
- )
- popd
- call echo %%~b:%%Num%% 个文件
- )
- popd
- ))>"%~dp0文件数日志.txt"
- pause
复制代码
第二个批处理:- @echo off
- echo 正在统计中。。。
- (for /d %%a in (*) do (
- pushd "%%~a"
- call set Num=0
- for /d %%b in (*) do (
- pushd "%%~b"
- for /r %%c in (*) do (
- call set /a Num+=1
- )
- popd
- )
- call echo %%~a:%%Num%% 个文件
- popd
- ))>"%~dp0日志.txt"
- pause
复制代码
作者: 狄钦dQ 时间: 2018-7-6 21:08
cd .. 返回上一层目录
作者: Batcher 时间: 2018-7-6 21:10
现在脚本在哪个目录下?你希望调整到哪个目录下?
作者: yhcfsr 时间: 2018-7-7 13:31
本帖最后由 yhcfsr 于 2018-7-7 13:35 编辑
批处理一:
进入一级子目录,再进入二级子目录,获取二级子目录的文件个数.
输出结果: 二级子目录:二级子目录的文件个数
批处理二:
进入一级子目录,再进入二级子目录,获取二级子目录的文件个数.
输出结果: 一级子目录:二级子目录的文件个数
所以你说的目录上移一级到底是要干什么?
第一个脚本功能算是正常人的思维;至于第二个脚本,如果一级子目录下有文件,那么你的结果就是错的.难道你上移一级的意思,是显示一级子目录下所有文件个数吗?- @echo off
- echo 正在统计中。。。
- (for /d %%a in (*) do (
- pushd "%%~a"
- call set Num=0
- for /r %%c in (*) do (
- call set /a Num+=1
- )
- call echo %%~a:%%Num%% 个文件
- popd
- ))>"%~dp0日志.txt"
- pause
复制代码
作者: a6236130 时间: 2018-7-7 23:50
回复 4# yhcfsr
叙述有误,我想要达到的效果是:在加二级目录的下面再加一级目录也就是;
批处理一:
进入一级子目录,再进入二级子目录,,再进入三级子目录,获取三级子目录的文件个数.
输出结果: 三级子目录:三级子目录的文件个数
批处理二:
进入一级子目录,再进入二级子目录,,再进入三级子目录,获取三级子目录的文件个数.
输出结果: 二级子目录:三级子目录的文件总数
想请教下,这两个功能是否可以合成一个批处理来实现? :handshake 感激不尽....
作者: yhcfsr 时间: 2018-7-8 13:35
本帖最后由 yhcfsr 于 2018-7-8 21:28 编辑
- @echo off
- rem 三级目录:三级目录文件个数
- set "txt1=%~dp0日志3-3.txt"
- rem 二级目录:三级目录文件总数
- set "txt2=%~dp0日志2-3.txt"
- echo 正在统计中。。。
- for /d %%a in (*) do (
- ::一级子目录
- pushd "%%~a"
- for /d %%b in (*) do (
- ::二级子目录
- pushd "%%~b"
- set "Sum=0"
- for /d %%c in (*) do (
- ::三级子目录
- pushd "%%~c"
- set "Num=0"
- for /r %%d in (*) do call set /a "Num+=1"
- >>"%txt1%" call echo %%~c:%%Num%% 个文件
- call set /a Sum+=%%Num%%
- popd
- )
- >>"%txt2%" call echo %%~b:%%Sum%% 个文件
- popd
- )
- popd
- )
- pause
复制代码
作者: a6236130 时间: 2018-7-8 20:54
回复 6# yhcfsr
不行呢,运行直接闪现一下就没了........
另外能不能把两种统计的结果分两个txt文件
作者: yhcfsr 时间: 2018-7-8 21:28
回复 7# a6236130
已改.见5楼.
作者: a6236130 时间: 2018-7-8 22:44
回复 8# yhcfsr
:hug: :hug: 非常感谢
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |