Board logo

标题: 如何检测文件名带空格的文件夹是否存在 [打印本页]

作者: namejm     时间: 2006-3-30 19:52    标题: 如何检测文件名带空格的文件夹是否存在

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

@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 ]
作者: Climbing     时间: 2006-3-30 22:33
if exist "c:\e book" ...
or
if exist "c:\e book\." ...
作者: namejm     时间: 2006-3-31 00:44


  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)设备来测试.
作者: 3742668     时间: 2006-3-31 06:58
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
先测试一下再发表言论。
作者: chenall     时间: 2006-3-31 12:09
to 4楼:
WINDOWS 98或纯DOS下确实不行.但是WIN2000以上的系统是可以的.
作者: Climbing     时间: 2006-3-31 14:15
很明显,楼主限定的环境是XP。
作者: chenhui530     时间: 2006-4-1 17:01
在DOS下可以使用
md "123  23"
if not errorlevel 1 echo 不存在
if errorlevel echo 存在
作者: appleliuyg     时间: 2006-4-10 17:15    标题: 这个我测试过了,可以的

@ echo off
if exist "c:\e book"  goto love
echo i hate you
pause
exit
:love
echo i love you
pause
exit
作者: IceCrack     时间: 2006-7-13 14:31
还真的如9楼所说,这个怎么也行啊。我记得exist不能检测目录的啊