Batch file 如何将一个批处理文件的值传递给另一个批处理文件?

Batch file 如何将一个批处理文件的值传递给另一个批处理文件?,batch-file,Batch File,密钥发生器 @ECHO OFF COLOR A ECHO Generating Key! choice /d y /t 3 > nul set /p "genkey"="%random%-%random%-%random%-%random%" PAUSE EXIT 第2批 COLOR A @ECHO OFF set /p base= if %base% == %genkey% GOTO :ecs :ecs PAUSE EXIT 我通常这样做的方式是写入文件并使用SET从文件中调用 例如

密钥发生器

@ECHO OFF
COLOR A
ECHO Generating Key!
choice /d y /t 3 > nul
set /p "genkey"="%random%-%random%-%random%-%random%"
PAUSE
EXIT
第2批

COLOR A
@ECHO OFF
set /p base=
if %base% == %genkey% GOTO :ecs
:ecs
PAUSE
EXIT

我通常这样做的方式是写入文件并使用SET从文件中调用

例如:

批处理文件1

echo off
set var1=%Random%-%Random%-%Random%
echo %var1%>temp.log
pause
exit
批处理文件2

echo off
set Var1=nul
if EXIST Temp.log (set /p Var1=<Temp.log && del /Q Temp.log)
echo %Var1%
pause
exit
echo关闭
设置Var1=nul

如果EXIST Temp.log(set/p Var1=那么这些文件是如何命名的?你的问题是什么?你想从哪个文件取哪个值到哪个值?从
Key Generator.bat
你可以使用
调用“Batch 2.bat”“%genkey%”在
Batch 2.bat
中你可以将
if
语句改为
if/I Not“%base%”“=“%~1”GoTo:EOF
你能更改它吗?你为什么要在第一批文件中使用
SET/P
?看起来你只想使用一个普通的
SET
命令。点击文章底部标签下面的灰色
edit
链接,你可以提出自己的问题。