中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 16:47
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教:有什么办法能判断某目录下只有目录,没有文件? 查看 940 回复 4
楼 主 请教:有什么办法能判断某目录下只有目录,没有文件? 发表于 2006-12-16 10:31 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
请教:有什么办法能判断某目录下只有目录,没有文件?
Windows 一键还原
http://www.yjhy.com
2 发表于 2006-12-16 11:02 ·  中国 甘肃 平凉 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
@echo off
cd.>test.txt
dir /a-d/s/b c:\temp>>test.txt 2>nul
findstr . test.txt>nul&&(echo c:\temp目录下有文件) ||(echo c:\temp目录下只有目录)
pause>nul

[ Last edited by vkill on 2006-12-16 at 11:09 AM ]
3 发表于 2006-12-16 11:09 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
谢谢!
Windows 一键还原
http://www.yjhy.com
4 发表于 2006-12-16 12:38 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  演示代码如下:

@echo off
for /f "delims=" %%i in ('dir /a-d /b "目标文件夹"2^>nul') do set "file=%%i"
for /f "delims=" %%i in ('dir /ad /b "目标文件夹"') do set "dir_=%%i"
if defined file (echo 有文件) else (echo 没有文件)
if defined dir_ (echo 有文件夹) else (echo 没有文件夹)
pause
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
5 发表于 2006-12-16 20:40 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
试过了,4楼代码没问题。
2楼代码不完善。就是在比如C:\temp\123目录结构,123下有文件,temp下无文件,判断temp会失误,提示有文件。
谢谢各位。
Windows 一键还原
http://www.yjhy.com
论坛跳转: