中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-27 00:39
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » HLEP:代码运行后总是提示系统找不到路径! 查看 1,232 回复 6
楼 主 HLEP:代码运行后总是提示系统找不到路径! 发表于 2007-05-23 21:09 ·  中国 广东 汕头 电信
初级用户
积分 57
发帖 23
注册 2007-04-02 04:52
19年会员
UID 83682
性别 男
状态 离线
为什么我下面的这段代码运行后总是提示系统找不到路径呢?

@echo off
setlocal enabledelayedexpansion
color 0A

::=====检查初始化文件是否存在=====
:setinit_loop
if not exist "!userprofile!\setinit.bat" (
set sourcepath=\\a\ma
echo 请输入存放文件的路径!
set /p targerpath= [参考格式c:\ct\] :
if "!targerpath!" == "" (
echo 你输入的为空路径!
goto setinit_loop
) else (
echo "!targerpath!"|findstr /i "[A-Z]:\\.*" >nul 2>nul||(echo 错误:路径格式1不正确!&goto :setinit_loop)
echo "!targerpath!"|findstr /i ".*/.*" >nul 2>nul&&(echo 错误:路径格式2不正确! &goto :setinit_loop)
if not exist !targerpath:~0,2!\nul (echo 错误:无此盘!&goto :setinit_loop)
if not exist "!targerpath!" (md "!targerpath!")
echo set targerpath=!targerpath! > "!userprofile!\setinit.bat"
echo set sourcepath=!sourcepath! > "!userprofile!\setinit.bat"
)
) else (
start /I /B "!userprofile!\setinit.bat"
cls
)
实用就是好东西!
2 发表于 2007-05-23 21:46 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
把!换成%试试呢?
3 发表于 2007-05-23 21:56 ·  中国 广东 汕头 电信
初级用户
积分 57
发帖 23
注册 2007-04-02 04:52
19年会员
UID 83682
性别 男
状态 离线
还是一样提示:系统找不到指定的路径。
再说,我前面已开启了变量延迟了。
实用就是好东西!
4 发表于 2007-05-24 20:14 ·  中国 广东 汕头 电信
初级用户
积分 57
发帖 23
注册 2007-04-02 04:52
19年会员
UID 83682
性别 男
状态 离线
真的没法解决吗?在线等,谢谢!
实用就是好东西!
5 发表于 2007-05-24 21:33 ·  中国 广东 广州 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
19年会员
UID 75048
性别 男
状态 离线
打开回显,适当设置echo 变量和pause查看,逐步检查是哪个语句出错
正在潜水修练的批处理小白
6 发表于 2007-05-24 21:48 ·  中国 浙江 杭州 联通
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
似乎 if not exist !targerpath:~0,2!\nul (echo 错误:无此盘!&goto :setinit_loop)这句有毛病。\nul是什么意思??
7 发表于 2007-05-25 21:15 ·  中国 广东 汕头 电信
初级用户
积分 57
发帖 23
注册 2007-04-02 04:52
19年会员
UID 83682
性别 男
状态 离线
Originally posted by wudixin96 at 2007-5-24 09:48 PM:
似乎 if not exist !targerpath:~0,2!\nul (echo 错误:无此盘!&goto :setinit_loop)这句有毛病。\nul是什么意思??



呵呵,上面的的代码是引用 lxmxn 兄的代码来的。
http://www.cn-dos.net/forum/viewthread.php?tid=29524&fpage=1&highlight=%2Blinmilin
实用就是好东西!
论坛跳转: