Windows 命令 SET 似乎是多余的?

Windows command SET seems possibly redundant?

我继承了一个批处理文件,它从一个文本文件中读取主要、次要和内部版本号,作为长期建立的构建过程的一部分 - 实际读取部分代码很简单 FOR /F:

FOR /F "tokens=1,2,3* delims=." %%A IN (C:\MyBuildArea\version.txt) DO (
  SET Major=%%A
  SET Minor=%%B
  SET Build=%%C
)

但是后面跟着一行:

SET Build=%Build: =%

我不明白最后一行 - 它在做什么。猜测它可能试图从原始文件中捕获并删除尾随 space (?),因为 FOR /F 是用点 (".") 分隔的,而不是 space.

希望有人能帮助我理解 - 这条线是多余的还是有某种目的?

命令 SET Build=%Build: =% 将简单地用空替换所有空格,即它将删除存储在 Build.

中的文本中的所有空格

有关详细信息,请参阅命令提示符中的 set /?