一尘不染

Windows 批处理文件:.bat 与 .cmd?

Windows

据我了解,.bat是旧的 16 位命名约定,.cmd适用于 32 位 Windows,即以 NT 开头。但是我继续在各处看到 .bat 文件,并且使用任一后缀它们的工作方式似乎完全相同。假设我的代码永远不需要在 NT 之前的任何东西上运行,那么我命名批处理文件的方式真的很重要,还是使用错误的后缀有一些问题在等待我?


阅读 172

收藏
2022-06-04

共1个答案

一尘不染

来自Mark Zbikowski本人发布的这个新闻组:

就 CMD.EXE 而言,.CMD 和 .BAT 之间的区别在于: 启用扩展后,.CMD 文件中的 PATH/APPEND/PROMPT/SET/ASSOC 将设置 ERRORLEVEL,无论错误如何。.BAT 仅在错误时设置 ERRORLEVEL。

换句话说,如果 ERRORLEVEL 设置为非 0,然后您运行这些命令之一,则生成的 ERRORLEVEL 将是:

  • 在 .bat 文件中保持其非 0 值
  • 在 .cmd 文件中重置为 0。
2022-06-04