中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 05:47
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助:关于找不到批处理的提示 查看 2,122 回复 15
楼 主 求助:关于找不到批处理的提示 发表于 2007-05-31 23:30 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
C:\Documents and Settings\All Users\「开始」菜单\卸载IE多窗口插件.bat

内容如下:
----------------------------------
@ECHO off
echo 你确定要卸载IE多窗口插件吗?
echo 按任意键开始卸载!(会自动关闭IE窗口和资源管理器窗口)
pause>nul
attrib -s -h -r "%ALLUSERSPROFILE%\「开始」菜单\卸载IE多窗口插件.bat"
taskkill /f /im iexplore.exe>nul 2>nul
taskkill /f /im explorer.exe>nul 2>nul
regsvr32 /u /s %windir%\system32\WebTools.dll
del %windir%\system32\Help.gif
del %windir%\system32\settings.gif
del %windir%\system32\license.dat
del %windir%\system32\WebTools.dll
del %windir%\system32\WebToolshelp.htm
del %windir%\system32\WebToolssettings.htm
reg delete "HKEY_CURRENT_USER\Software\Microgarden\WebTools" /f
start explorer.exe
start ...
del %0
-----------------------------------
可正常运行,并生效,最后删除自身,只是运行到最后提示“找不到批处理文件”改了无数次,实在不知哪不对了,请好心人帮忙看看
2 发表于 2007-06-01 00:37 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
去掉@echo off和del %0自己检查一下.
3 发表于 2007-06-01 01:34 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
看错^_^

我这里可以删除,只是不能在命令行运行这个目录的批处理,提示“找不到批处理文件”

试试:
del %0>nul 2>nul

[ Last edited by zh159 on 2007-6-1 at 10:57 AM ]
4 发表于 2007-06-01 10:46 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
不行啊,加了AH,还是提示找不到,
5 发表于 2007-06-01 11:52 ·  中国 上海 电信
初级用户
★★
积分 180
发帖 84
注册 2006-09-07 00:33
19年会员
UID 61995
状态 离线
是不是因为有长目录或者带空格的目录还是中文目录?
6 发表于 2007-06-01 11:52 ·  中国 上海 电信
初级用户
★★
积分 180
发帖 84
注册 2006-09-07 00:33
19年会员
UID 61995
状态 离线
del "%0"
7 发表于 2007-06-01 11:57 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
Originally posted by ttyp at 2007-6-1 11:52:
del "%0"

直接使用%0会自带双引号
8 发表于 2007-06-01 12:27 ·  中国 广西 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
大家可以保存我的批处理文件试一下,无论怎么写都会提示找不到批处理文件,

错误提示:

WINDOWS找不到文件夹 /IDLIST:252:856,请确定文件名是否正确,再试一次,要搜索文件,请单击「开始」菜单按钮,然后单击"搜索"
9 发表于 2007-06-01 12:28 ·  中国 广西 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
Originally posted by zh159 at 2007-6-1 01:34:
看错^_^

我这里可以删除,只是不能在命令行运行这个目录的批处理,提示“找不到批处理文件”

试试:
del %0>nul 2>nul

[ Last edited by zh159 on 2007-6-1 at 10:57 AM ]


早加过了,还是有错误提示
10 发表于 2007-06-01 13:10 ·  中国 广东 广州 白云区 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
19年会员
UID 75048
性别 男
状态 离线
我这里运行正常,运行后可以自行退出并删除自身
正在潜水修练的批处理小白
11 发表于 2007-06-01 13:29 ·  中国 广西 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
Originally posted by dikex at 2007-6-1 13:10:
我这里运行正常,运行后可以自行退出并删除自身


我也是可以的,但如果你仔细看,最后会有一句,找不到批处理的提示,虽不影响使用,但我想找出原因
12 发表于 2007-06-01 13:59 ·  中国 广东 广州 白云区 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
19年会员
UID 75048
性别 男
状态 离线
先做一个试验,写一个批处理,内容为

@echo off
pause
echo a
pause


运行后先不要按任何键,在那个批处理上面右键——编辑,将echo a改为echo b,保存后转为那个正在运行的批处理的窗口,按一下任意键,结果echo出来的是b而不是a!

再做一个试验,批处理内容如下:

@echo off
pause
echo a
pause


同样运行后不要按任何键,然后把那个批处理文件删除或者重命名,接着转为批处理的运行窗口,按一下任意键,批处理直接退出而不执行下面的语句,隐约看到一行报错的语句;


关于这个,以下为个人猜测:

批处理运行时并不会一开始就将所有的代码载入内存,而是每执行完一行才载入下一行的代码,于是我们就产生了试验里面中途改变代码后执行的是修改后的代码;

具体到楼主的那个批处理,由于批处理在运行时把自身删除了,在执行完那个del的命令后系统想往下读取下一行命令时却发现找不到那个批处理文件,于是就报错了。

[ Last edited by dikex on 2007-6-1 at 02:04 PM ]
正在潜水修练的批处理小白
13 发表于 2007-06-01 14:07 ·  中国 广东 广州 白云区 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
19年会员
UID 75048
性别 男
状态 离线
使用cmd /k来调用那个试验批处理,结果比较容易观测
正在潜水修练的批处理小白
14 发表于 2007-06-01 20:12 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线

@echo off
echo hello
del %0


@echo off
echo hello
del "%0"


@echo off
echo hello
del %0>nul 2>nul

网上有人说del %0后面不能加回车,但是经我测试,以上三段代码无论怎样改都会报错,跟楼主一样。
我的测试环境XP SP2
等待高人出现
15 发表于 2007-06-01 21:38 ·  中国 吉林 长春 电信
初级用户
积分 52
发帖 27
注册 2006-10-27 16:42
19年会员
UID 68509
性别 男
状态 离线
同意12楼的说法,我也测试了一下,和14楼的结果一样。
论坛跳转: