批处理循环把文件内容赋值给不同变量的问题?

批处理循环把文件内容赋值给不同变量的问题?


功能:读取连接的手机的sn,然后供用户选择,本来设计是支持2个手机的,但是如果只接一个手机,从第一个菜单跳转到第二个菜单,然后返回就会出现同个手机sn给变量了

@echo off
:getsn
setlocal enabledelayedexpansion
#获取手机的sn并赋值给变量,可以有多个手机,本来是
::FOR /F "skip=1 tokens=1 delims= " %%i in ('adb devices') do (

FOR /F "skip=1 tokens=1 delims= " %%i in (1.txt) do (
if not defined d1 (set d1=%%i) else (
if not defined d2 (set d2=%%i))
)
::取出设备信息的sn
FOR /F "usebackq tokens=1 delims= " %%a in ('%d1%') do set device1=%%a
FOR /F "usebackq tokens=1 delims= " %%i in ('%d2%') do set device2=%%i

:startsn
cls
echo =============请选择sn =============
echo 1.%device1%
echo.
echo 2.%device2%
echo ==========================================
set /p startsn1=你的选择是(输入序号):
if %startsn1% ==1 (
set startsn=%device1%
goto menu
)

if %startsn1%==2 (
set startsn=%device2%
goto menu
)
:menu
cls
echo =============请选择 ==============
echo 1.返回上一级 2.开始
echo ===========================
set /p user_input=选择(输入序号):
if %user_input% ==1 goto getsn
if %user_input%==2 goto :run

:run
echo start test
pause




不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
---------------------------------------
@echo off&cd /d "%~dp0"
rem 根据项目菜单选择执行不同操作变量出现错误赋值
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
>"%tmp%\t.t" adb devices 2>&1
for /f "delims=[]" %%a in ('type "%tmp%\t.t"^|find /i /n "List of devices"旦手') do set lastline=%%a
if not defined lastline (
type "%tmp%\t.t"
set msg=adb error&goto end
)
set n=0
for /f "skip=%lastline%" %%a in ('type "%tmp%\t.t"') do (
set /a n+=1
call set "sn[%%n%%]=%%a"
)
if %n% equ 0 (set msg=no devices&goto end)
:choice
cls
for /l %%a in (1 1 %n%) do call echo;%%a、%%sn[%%a]%%
set sn=&set c=&set /p c=enter:
for /l %%a in (1 1 %n%) do (if "迟辩%c%" equ "%%a" (call set "sn=%%sn[%%a]%%"))
if not defined sn (echo;enter error&pause&goto choice)
:menu
cls
echo;1、back
echo;2、start
set c=&set /p c=enter:
if "%c%"码迟缺 equ "1" (goto choice)
if "%c%" equ "2" (goto run)
goto menu
:run
echo;start test %sn%
:end
if defined msg (echo;%msg%)
echo;%#% +%$%%$%/%_% %z%
pause
exit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a520521bc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值