据我了解,.bat是旧的 16 位命名约定,.cmd适用于 32 位 Windows,即以 NT 开头。但是我继续在各处看到 .bat 文件,并且使用任一后缀它们的工作方式似乎完全相同。假设我的代码永远不需要在 NT 之前的任何东西上运行,那么我命名批处理文件的方式真的很重要,还是使用错误的后缀有一些问题在等待我?
.bat
.cmd
来自Mark Zbikowski本人发布的这个新闻组:
就 CMD.EXE 而言,.CMD 和 .BAT 之间的区别在于: 启用扩展后,.CMD 文件中的 PATH/APPEND/PROMPT/SET/ASSOC 将设置 ERRORLEVEL,无论错误如何。.BAT 仅在错误时设置 ERRORLEVEL。
换句话说,如果 ERRORLEVEL 设置为非 0,然后您运行这些命令之一,则生成的 ERRORLEVEL 将是: