Board logo

标题: HLEP:代码运行后总是提示系统找不到路径! [打印本页]

作者: linmilin     时间: 2007-5-23 21:09    标题: 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
)
作者: lxmxn     时间: 2007-5-23 21:46
把!换成%试试呢?
作者: linmilin     时间: 2007-5-23 21:56
还是一样提示:系统找不到指定的路径。
再说,我前面已开启了变量延迟了。
作者: linmilin     时间: 2007-5-24 20:14
真的没法解决吗?在线等,谢谢!
作者: dikex     时间: 2007-5-24 21:33
打开回显,适当设置echo 变量和pause查看,逐步检查是哪个语句出错
作者: wudixin96     时间: 2007-5-24 21:48
似乎 if not exist !targerpath:~0,2!\nul (echo 错误:无此盘!&goto :setinit_loop)这句有毛病。\nul是什么意思??
作者: linmilin     时间: 2007-5-25 21:15


  Quote:
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/view ... ghlight=%2Blinmilin