中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-28 04:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教:如何判断输入的路径是否正确? 查看 1,200 回复 6
楼 主 请教:如何判断输入的路径是否正确? 发表于 2007-04-13 09:40 ·  中国 广东 汕头 电信
初级用户
积分 57
发帖 23
注册 2007-04-02 04:52
19年会员
UID 83682
性别 男
状态 离线
当手动输入以下路径时d:\temp\tmp (此两个目录均尚未建立,判断正确后再进行建立),则是正确的,假如将路径输入为d\temp\tmp 或:\temp\tmp 或h:\temp\tmp(不存在H驱动器)等等,应如何对其输入的路径进行判断呢?
2 发表于 2007-04-13 14:41 ·  中国 湖北 武汉 电信
初级用户
积分 68
发帖 30
注册 2007-01-16 07:05
19年会员
UID 76659
性别 男
状态 离线
IF NOT EXIST D:\TEMP MD D:\TEMP
IF NOT EXIST D:\TEMP\TEP MD D:\TEMP\TEP
3 发表于 2007-04-13 20:37 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
问题交代不是很清楚。比如输入h:\temp\tmp(存在H驱动器)是否可以?还是只能是D:上?

只能在d:的
IF NOT EXIST D:\TEMP\TEP\nul D D:\TEMP\TEP
Windows 一键还原
http://www.yjhy.com
4 发表于 2007-04-14 09:04 ·  中国 广东 汕头 电信
初级用户
积分 57
发帖 23
注册 2007-04-02 04:52
19年会员
UID 83682
性别 男
状态 离线
我的意图是这样的:当手动输入路径时,能自动判断所输入的路径的格式及盘符是否正确。
例如:手动输入的路径是d:temp\tmp ,很明显这样的格式不正确,在“”后少了一个”\“,类似这样的情况应如何判断呢?这是第一点。
如果是输入的盘符是不存在的,如上面所说的”H“盘,实际该盘是不存在的,那应如何判断呢?

谢谢各位的帮忙!
5 发表于 2007-04-14 13:48 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线

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

6 发表于 2007-04-15 09:30 ·  中国 广东 汕头 电信
初级用户
积分 57
发帖 23
注册 2007-04-02 04:52
19年会员
UID 83682
性别 男
状态 离线
你的程序是根据前三个字符进行判断的,这个没有问题。
如果输入的路径的是这样:d:\cust/tmp 或 d:\cust\tmp/tp 等等,
三个字符后面的就判断不了。
实际这样的路径是错误的。这个有什么方法可以解决吗?

最后谢谢你的答复。
7 发表于 2007-04-15 10:20 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线
我刚写的错了 所以删掉

[ Last edited by huzixuan on 2007-4-15 at 10:25 AM ]
江湖远
碧空长
路茫茫

一个人漫无目的的奔跑,风,刺骨的冷....
论坛跳转: