中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-07 19:55
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何使用IF语句判断某目录下文件总数 查看 898 回复 3
楼 主 [求助]如何使用IF语句判断某目录下文件总数 发表于 2008-03-20 15:11 ·  IANA 局域网IP(Private-Use)
新手上路
积分 4
发帖 1
注册 2008-03-20 12:18
18年会员
UID 113471
性别 男
状态 离线
如何使用IF语句判断某目录下文件总数

目录 c:\mytest ,如果该目录下有32个*.txt文件,就执行某些命令,否则提示错误,因为CMD命令不会写,简易用下面IF描述

if c:\mytest\ 文件数 >32(

echo ''
)else(
echo ''
)

请问如何实现,非常感谢
2 发表于 2008-03-22 00:04 ·  中国 辽宁 联通
初级用户
积分 21
发帖 12
注册 2008-01-20 18:00
18年会员
UID 109104
性别 男
状态 离线
@echo off
dir *.txt | findstr "个文件" > temp.txt
for /f " tokens=1 delims=./ " %%j in ( temp.txt ) do set num= %%j
if %num% geq 32 (echo go on pls.) else echo. & echo Here have something

wrong

set num=
del temp.txt

这个有点麻烦不过应该可以达到你的目的。

我不知道怎么直接调用命令的值,只好用了一个临时文件,希望朋友们可以帮我修改一下怎么能不用临时文件直接调用值。
3 发表于 2008-03-22 02:55 ·  中国 四川 成都 电信
中级用户
★★
积分 297
发帖 135
注册 2006-10-21 12:00
19年会员
UID 67627
性别 男
状态 离线
Re 『第 2 楼』:
@echo off
for /f " tokens=1 delims=./ " %%j in ('dir *.txt ^| findstr "个文件"') do set num= %%j
if %num% geq 32 (goto do) else (echo Error & set "num=" & exit /b)
:do
set num=
echo There is enough textfiles for you to do something.
::insert your command here
4 发表于 2008-03-23 01:18 ·  中国 北京 华为云
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线

@echo off
for /f "delims=" %%a in ('dir /s/b/a-d "c:\mytest\*.txt"') do (
set /a a+=1
)
if %a% geq 32 (
你要执行的命令
) else (
echo 文件少于32个...
)
pause
论坛跳转: