如何将一个批处理文件的值转换为另一个?

时间:2018-03-04 18:14:25

标签: 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

1 个答案:

答案 0 :(得分:0)

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

例如:

BATCH FILE 1

echo off
set var1=%Random%-%Random%-%Random%
echo %var1%>temp.log
pause
exit

BATCH FILE 2

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

在这种情况下,如果运行第二个批处理文件而不运行第一个批处理文件,则输出将为“nul”。但是,如果在秒之前运行第一个批处理文件,则将显示第一个批处理文件的输出。 您可以将 %Random%-%Random%-%Random% 更改为您想要的任何文本或变量。 该程序的作用类似于 type 函数,但是使用此方法,它会将文件的内容打印到变量。

最后要注意的是,此方法只能读取文件的第一行。在传输数字,然后在操作中使用该数字时,这非常有用。如果您要传输整个文件,可以使用 FOR 状态,但请注意, FOR 语句会将整个文件调回到单行。