Board logo

标题: 请教:如何判断输入的路径是否正确? [打印本页]

作者: linmilin     时间: 2007-4-13 09:40    标题: 请教:如何判断输入的路径是否正确?

当手动输入以下路径时d:\temp\tmp (此两个目录均尚未建立,判断正确后再进行建立),则是正确的,假如将路径输入为d\temp\tmp 或:\temp\tmp 或h:\temp\tmp(不存在H驱动器)等等,应如何对其输入的路径进行判断呢?
作者: fanglor     时间: 2007-4-13 14:41
IF NOT EXIST D:\TEMP MD D:\TEMP
IF NOT EXIST D:\TEMP\TEP MD D:\TEMP\TEP
作者: lianjiang2004     时间: 2007-4-13 20:37
问题交代不是很清楚。比如输入h:\temp\tmp(存在H驱动器)是否可以?还是只能是D:上?

只能在d:的
IF NOT EXIST D:\TEMP\TEP\nul D D:\TEMP\TEP
作者: linmilin     时间: 2007-4-14 09:04
我的意图是这样的:当手动输入路径时,能自动判断所输入的路径的格式及盘符是否正确。
例如:手动输入的路径是d:temp\tmp ,很明显这样的格式不正确,在“”后少了一个”\“,类似这样的情况应如何判断呢?这是第一点。
如果是输入的盘符是不存在的,如上面所说的”H“盘,实际该盘是不存在的,那应如何判断呢?

谢谢各位的帮忙!
作者: lxmxn     时间: 2007-4-14 13:48

@echo off
:begin
set input=
set/p input=Please input pathname:
echo %input%|findstr /i "[A-Z]:\\.*" >nul 2>nul||(echo Error&goto begin)
if not exist %input:~0,2%\nul (echo Error&goto begin)
echo OK
pause&exit/b

作者: linmilin     时间: 2007-4-15 09:30
你的程序是根据前三个字符进行判断的,这个没有问题。
如果输入的路径的是这样:d:\cust/tmp 或 d:\cust\tmp/tp 等等,
三个字符后面的就判断不了。
实际这样的路径是错误的。这个有什么方法可以解决吗?

最后谢谢你的答复。
作者: huzixuan     时间: 2007-4-15 10:20
我刚写的错了 所以删掉

[ Last edited by huzixuan on 2007-4-15 at 10:25 AM ]