找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 35195|回复: 9

[其他] [已解决]运行批处理为何会调用名字相似的批处理?

[复制链接]
发表于 2010-11-4 20:46:17 | 显示全部楼层 |阅读模式
这两天一直在学习批处理,练习写了很多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 编辑 ]

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2010-11-4 20:52:42 | 显示全部楼层
把shutdown.bat换个名试试
 楼主| 发表于 2010-11-4 21:12:34 | 显示全部楼层
正是,我换了就没事了,只是想知道到底是不是因为文件名是否不能超过8个,可是我刚才再次试的时候就没这回事了,真是奇怪,难道是我的系统在跟我开玩笑  一会这样一会那样  弄得俺头晕
发表于 2010-11-4 21:23:58 | 显示全部楼层

回复 3楼 的帖子

再过几天你就不会这么晕了
发表于 2010-11-4 22:12:09 | 显示全部楼层
这也行?没碰到过这么个情况累
发表于 2010-11-4 22:52:30 | 显示全部楼层
貌似扩展名也不能超过三位…
发表于 2010-11-4 23:33:38 | 显示全部楼层

回复 3楼 的帖子

不要把批处理文件命名为跟系统命令相同的名字

评分

参与人数 1技术 +1 收起 理由
haitianguyan102 + 1 乐于助人

查看全部评分

 楼主| 发表于 2010-11-6 15:01:45 | 显示全部楼层
今天我的桌面上有4个批处理文件echo.bat  echo1.bat  echo2.bat  echo3.bat  我发现当我运行echo1.bat的时候完全不对劲,好像是在运行一个其它的文件,后来我试着将其它几个名称类似的文件移走,重新运行echo1.bat  才恢复正常  也许真的是因为文件名称中不能包含系统命令吧
发表于 2010-11-11 04:15:48 | 显示全部楼层
命令如果当前目录存在(比如shutdown.exe/bat/cmd)则会优先执行这些。

[ 本帖最后由 jixun66 于 2010-11-11 04:16 编辑 ]
发表于 2023-8-11 08:48:52 | 显示全部楼层
考古,不知道题主还在不在(因为,这些,文件在你运行的bat同目录,比如你试试bat写上一行,只有aaa三个字,然后在桌面上放个aaa.txt,运行看看是不是弹出了一个记事本。这是因为bat调用文件如果在它本体同目录下那么不需要路径只需要文件名就行。输入echo aaa,如果正常那就会显示aaa 如果同目录有个echo.bat那就变成调用echo这个文件,传入aaa作为参数了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 15:34 , Processed in 0.011257 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表