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

问题描述 投票:-1回答:1

密钥生成器

@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
batch-file
1个回答
0
投票

我通常这样做的方法是写入文件并使用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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.