无忧启动论坛

标题: 为什么 if errorlevel 后的 copy 没提示覆盖? [打印本页]

作者: different    时间: 2008-8-17 22:34
标题: 为什么 if errorlevel 后的 copy 没提示覆盖?
例如:
d:\ 已有了aa.txt
bat如下:

  1. cd\
  2. if errorlevel 0 copy c:\aa.txt d:
复制代码

并没有提示覆盖,为什么?
作者: dos时代菜鸟    时间: 2014-7-18 11:14
d: 表示 d盘当前路径,而不是绝对路径,
是不是 D盘当前路径 本来就没有那个文件?
输入
dir d:aa.txt /b /a-d
看看有没有这个文件
作者: geruoc    时间: 2014-8-11 16:09
d: 和 d:\是不同的!除非你之前执行了:1. d: (转到D盘)2.cd\(退到D盘根目录) 这两条语句,d: 和 d:\才是同一路径。
作者: huang1987    时间: 2023-11-13 13:04
谢谢分享
作者: 2012飘水    时间: 2024-4-6 23:58
长姿势了,感谢
作者: dos时代菜鸟    时间: 2024-4-7 08:34
话说 errorlevel 这个事儿,以前,通常是从大到小的判断。当 errorlevel 是 1 时,你用 if 判断他 是否为 0 ,系统也会认为成立。 现在不知道 啥情况了。

所以 通常的 对 errorlevel  0 的判断都是 用反向的,比如 if not errorlevel 1 ,来确定。

再有,你这个 d:aa.txt 与 d:\aa.txt 是不一样的。 这里涉及到 相对路径与绝对路径的概念。




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3