中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何检测文件名带空格的文件夹是否存在
作者:
标题: 如何检测文件名带空格的文件夹是否存在 上一主题 | 下一主题
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『楼 主』:  如何检测文件名带空格的文件夹是否存在

WinXP下,如何建立一个批处理,用来检测文件名带空格的文件夹是否存在?比如C盘下存在一个文件夹,名字叫e book,如何检测它是否存在?
用了if exist语句,但是无法检测出来.
if exist "c:\e book"\nul
if exist "c:\e book\nul"
都试了,但是都没成功.

2006-3-30 19:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 2 楼』:  


@echo off
dir /a "c:\e book"
goto %errorlevel%

:1
msg %username% "目录不存在!"

:0
pause>nul
[ Last edited by 3742668 on 2006-3-30 at 21:30 ]

2006-3-30 21:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 3 楼』:  

if exist "c:\e book" ...
or
if exist "c:\e book\." ...



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2006-3-30 22:33
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by Climbing at 2006-3-30 22:33:
if exist "c:\e book" ...
or
if exist "c:\e book\." ...

if exist语句不能直接检测到目录是否存在,应该通过空(NUL)设备来测试.

2006-3-31 00:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 5 楼』:  

3楼的方法应该是OK的了,因为每个文件夹下面都会有 .  ..,所以要检测文件夹只需要检测是否存在. 和..就可以了,例如:
if exist c:\"e book"\* echo 存在目录e book
if exist c:\"e book"\. echo 存在目录e book
if exist c:\"e book"\.. echo 存在目录e book
先测试一下再发表言论。

2006-3-31 06:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




积分 1276
发帖 469
注册 2002-12-23
来自 福建泉州
状态 离线
『第 6 楼』:  

to 4楼:
WINDOWS 98或纯DOS下确实不行.但是WIN2000以上的系统是可以的.



QQ:366840202
http://chenall.net
2006-3-31 12:09
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 7 楼』:  

很明显,楼主限定的环境是XP。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2006-3-31 14:15
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
chenhui530
高级用户





积分 772
发帖 273
注册 2004-10-23
状态 离线
『第 8 楼』:  

在DOS下可以使用
md "123  23"
if not errorlevel 1 echo 不存在
if errorlevel echo 存在



http://www.msfans.net/bbs/
2006-4-1 17:01
查看资料  发送邮件  发短消息 网志  OICQ (77740821)  编辑帖子  回复  引用回复
appleliuyg
新手上路





积分 4
发帖 2
注册 2006-4-5
状态 离线
『第 9 楼』:  这个我测试过了,可以的

@ echo off
if exist "c:\e book"  goto love
echo i hate you
pause
exit
:love
echo i love you
pause
exit

2006-4-10 17:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
IceCrack
中级用户

DOS之友


积分 332
发帖 168
注册 2005-10-6
来自 天涯
状态 离线
『第 10 楼』:  

还真的如9楼所说,这个怎么也行啊。我记得exist不能检测目录的啊

2006-7-13 14:31
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (369525996)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: