【问题标题】:Why Windows version was checked in the batch script?为什么在批处理脚本中检查 Windows 版本?
【发布时间】:2014-12-26 09:02:44
【问题描述】:
if "%OS%"=="Windows_NT" setlocal

您好,有一个批处理脚本,我想知道为什么要检查 OS 版本? Windows 95/98 的批处理语法是否存在差异?

我使用的是 Windows 7,而 echo %OS%Windows_NT 为什么?

【问题讨论】:

  • Windows 7 是 NT 系列的延续。所有现代 Windows 都是 :) 最后一个非 NT 版本是 98 SE/ME 或类似的版本,自 Win 2000/XP 以来,一切都是 NT。也许除了现在的 Windows RT。
  • @Luaan 最后一个非 NT Windows 是 Windows ME
  • 好的。这回答了我问题的第二部分。但第一个?
  • @LưuVĩnhPhúc 我以为我们决定忘记有关 Windows ME 的一切。但是哦,好吧,我的错误:D
  • 好的,但是 NT 和非 NT 版本的 shell 语言有区别吗?

标签: windows batch-file operating-system


【解决方案1】:

setlocal 在非 NT 系统上不起作用,就这么简单。

它不是很容易找到,但您会发现它在 NT 4.0、Windows XP 等的命令处理器的文档中,而在 95、98 等(使用 MS-DOS 命令处理器而不是 NT 外壳)。

Windows 7 一个 Windows NT 系统,例如 Windows 2000、XP 或 Windows Server 2008。版本号实际上是该行的延续 - Windows NT 4.0 之后是 2000 (5.0)、XP (5.1+)、Vista (6.0)、7 (6.1) 等。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-19
  • 2013-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-27
  • 2023-03-16
相关资源
最近更新 更多