中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-25 07:56
共 47,813 主题排行 / 349,918 发帖 / 今日 1 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » HLEP:代码运行后总是提示系统找不到路径!
可打印版本  1,382 / 6
第1楼 linmilin 发表于 2007-05-23 21:09
初级用户 发帖 23 积分 57
HLEP:代码运行后总是提示系统找不到路径!
为什么我下面的这段代码运行后总是提示系统找不到路径呢?

@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楼 lxmxn 发表于 2007-05-23 21:46
版主 发帖 4,938 积分 11,386
把!换成%试试呢?
第3楼 linmilin 发表于 2007-05-23 21:56
初级用户 发帖 23 积分 57
还是一样提示:系统找不到指定的路径。
再说,我前面已开启了变量延迟了。
第4楼 linmilin 发表于 2007-05-24 20:14
初级用户 发帖 23 积分 57
真的没法解决吗?在线等,谢谢!
第5楼 dikex 发表于 2007-05-24 21:33
高级用户 发帖 366 积分 788
打开回显,适当设置echo 变量和pause查看,逐步检查是哪个语句出错
第6楼 wudixin96 发表于 2007-05-24 21:48
银牌会员 发帖 931 积分 1,928
似乎 if not exist !targerpath:~0,2!\nul (echo 错误:无此盘!&goto :setinit_loop)这句有毛病。\nul是什么意思??
第7楼 linmilin 发表于 2007-05-25 21:15
初级用户 发帖 23 积分 57
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
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023