batch - 回显批处理文件中设置的所有变量

Hac*_*360 3 cmd batch-file environment-variables

我们假设我有这个代码:

@echo off
set "var=value"
echo %var%
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:如何回显文件中设置的所有变量?

我知道你可以这样做:

set
Run Code Online (Sandbox Code Playgroud)

它将显示所有变量.它显示:

ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\foma\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
...
Run Code Online (Sandbox Code Playgroud)

我希望它显示:

var=value
Run Code Online (Sandbox Code Playgroud)

我知道我可以set var显示所有以变量开头的变量var,但在我的情况下,我的所有变量都是从另一个批处理文件"导入"的,因此我不知道变量名称是如何开始的.有任何想法吗?

Mag*_*goo 7

@echo off
setlocal
set>originalfile.txt
...
:: list environment changes
set|findstr /x /L /g:originalfile.txt
Run Code Online (Sandbox Code Playgroud)

应该工作 - 快照起始值,然后该findstr行应该显示所做的所有更改(删除除外) - 至少在理论上,这只是一个即时的建议.