在我的目录下,C:\Users\ME
我有一个名为 的目录C:\Users\ME\Invoices
。这是我保存簿记和所有内容的地方。但是,我创建了一个*.bat
文件,我将其命名为Invoices.bat
。我敢打赌每个人都知道这是怎么回事,在文件中我有以下脚本:
start C:\Users\ME\Invoices
由于某种原因,Windows CMD 陷入循环并不断产生 CMD 提示。谢天谢地,我的电脑没有崩溃,我关闭了窗口。然而,这个问题让我感到好奇,当然我对此很感兴趣PATH=C:\Users\ME
。系统是否对启动什么感到困惑?还是因为它们有相同的名称,我偶然将*.bat
文件名更改为Bookkeeping.bat
,它执行得很好?我想知道你对这个问题的看法,这是一个侥幸,还是同名错误。我想指出的是,我在 explorer.exe 运行和不运行的情况下都尝试过。
答案1
从start
当执行命令行的第一个标记不包含扩展名时,CMD.EXE 将使用 PATHEXT 环境变量的值来确定要查找哪些扩展名以及查找顺序。PATHEXT 变量的默认值为:
.COM;.EXE;.BAT;.CMD
Notice the syntax is the same as the PATH variable, with
semicolons separating the different elements.
并且
在搜索可执行文件时,如果扩展名不匹配,则查看名称是否与目录名匹配。如果匹配,则 START 命令会在该路径上启动资源管理器。如果从命令行执行,则相当于对该路径执行 CD/D。
是的,这是因为您的文件名与文件夹名称匹配。