Board logo

标题: [其他] [已解决]运行批处理为何会调用名字相似的批处理? [打印本页]

作者: haitianguyan102    时间: 2010-11-4 20:46     标题: [已解决]运行批处理为何会调用名字相似的批处理?

这两天一直在学习批处理,练习写了很多bat文件。我桌面上有两个批处理文件shutdown.bat和shutdown1.bat,
shutdown1.bat如下
  1. @echo off
  2. taskkill /f /IM ishare_user.exe
  3. pause
  4. shutdown /s /t 0
复制代码
shutdown.bat的代码如下
  1. taskkill /f /IM tm.exe
  2. pause
复制代码
当我双击shutdown1.bat文件时,发现它会自动调用shutdown.bat
显示如下
成功: 已终止进程 "ishare_user.exe",其 PID 为 2692。
请按任意键继续. . .
错误: 没有找到进程 "tm.exe"。
请按任意键继续. . .
我想起了dos文件名不得超过8个,是否因为这个所以cmd会将这两个文件当作一个文件执行呢。可我的系统是windows 7啊

[ 本帖最后由 haitianguyan102 于 2010-11-14 17:43 编辑 ]
作者: wc726842270    时间: 2010-11-4 20:52

把shutdown.bat换个名试试
作者: haitianguyan102    时间: 2010-11-4 21:12

正是,我换了就没事了,只是想知道到底是不是因为文件名是否不能超过8个,可是我刚才再次试的时候就没这回事了,真是奇怪,难道是我的系统在跟我开玩笑  一会这样一会那样  弄得俺头晕
作者: wc726842270    时间: 2010-11-4 21:23     标题: 回复 3楼 的帖子

再过几天你就不会这么晕了
作者: paladinjin    时间: 2010-11-4 22:12

这也行?没碰到过这么个情况累
作者: 非主流男孩    时间: 2010-11-4 22:52

貌似扩展名也不能超过三位…
作者: Batcher    时间: 2010-11-4 23:33     标题: 回复 3楼 的帖子

不要把批处理文件命名为跟系统命令相同的名字
作者: haitianguyan102    时间: 2010-11-6 15:01

今天我的桌面上有4个批处理文件echo.bat  echo1.bat  echo2.bat  echo3.bat  我发现当我运行echo1.bat的时候完全不对劲,好像是在运行一个其它的文件,后来我试着将其它几个名称类似的文件移走,重新运行echo1.bat  才恢复正常  也许真的是因为文件名称中不能包含系统命令吧
作者: jixun66    时间: 2010-11-11 04:15

命令如果当前目录存在(比如shutdown.exe/bat/cmd)则会优先执行这些。

[ 本帖最后由 jixun66 于 2010-11-11 04:16 编辑 ]
作者: LTSC1809    时间: 2023-8-11 08:48

考古,不知道题主还在不在(因为,这些,文件在你运行的bat同目录,比如你试试bat写上一行,只有aaa三个字,然后在桌面上放个aaa.txt,运行看看是不是弹出了一个记事本。这是因为bat调用文件如果在它本体同目录下那么不需要路径只需要文件名就行。输入echo aaa,如果正常那就会显示aaa 如果同目录有个echo.bat那就变成调用echo这个文件,传入aaa作为参数了




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2