找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21666|回复: 12

[文本处理] {已解决}批处理for循环传递字符串给指定变量

[复制链接]
发表于 2023-1-8 12:24:57 | 显示全部楼层 |阅读模式
本帖最后由 旺财11k 于 2023-1-19 19:26 编辑
  1. @echo off
  2. set devices=1
  3. for %%f in (adb devices) do set "devices=%%f"
  4. echo %devices%
  5. cmd /k
复制代码
怎么写才可以把adb devices输出的序列号传递给变量%devices%?萌新向大佬!们求助!!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2023-1-8 12:25:44 | 显示全部楼层
求助!!!!!  大佬们
发表于 2023-1-8 12:58:33 | 显示全部楼层
你单独运行你获取序列号的命令,并把命令和结果发出来看看,就好写了
 楼主| 发表于 2023-1-8 13:29:28 | 显示全部楼层
回复 3# 77七


    就是 adb devices  把获取到的设备序号传递给变量a就行
我cmd  输入 adb devices 就会提示
List of devices attached
d225ca7e        device
发表于 2023-1-8 14:52:22 | 显示全部楼层
本帖最后由 77七 于 2023-1-8 20:38 编辑
  1. @echo off
  2. for /f "tokens=1 delims= " %%a in ('adb devices ^| findstr "device"') do (
  3.         set device=%%a
  4. )
  5. echo %device%
  6. pause
复制代码

试试这样行吗
 楼主| 发表于 2023-1-8 20:19:03 | 显示全部楼层
回复 5# 77七


    ECHO 处于关闭状态。我的会这样
发表于 2023-1-8 20:39:04 | 显示全部楼层
回复 6# 旺财11k

已修改,再试试
发表于 2023-1-9 09:12:25 | 显示全部楼层
回复 1# 旺财11k


如果5楼更新之后的代码还是不行,请执行命令:
  1. adb devices > 1.txt
复制代码
把1.txt上传到网盘,我试试。

把命令执行结果赋值给变量,不能直接用for,而应该用for /f
参考for命令教程第18、28页:
http://bbs.bathome.net/thread-31727-1-1.html


发表于 2023-1-9 17:40:16 | 显示全部楼层
回复 5# 77七

借用下此楼代码,修改为
  1. @echo off
  2. for /f %%a in ('adb devices ^| findstr device') do (
  3.         set device=%%a
  4. )
  5. echo %device%
  6. pause
复制代码
1.for /f 默认使用空格作为分隔符, 可以不使用分隔参数
2.findstr 搜索的字符串如果没有空格,可以省略 双引号,如果 搜索的字符串含有空格,必须使用  /C:"<搜索的字符串>"

评分

参与人数 1技术 +1 收起 理由
77七 + 1 谢谢指点!

查看全部评分

 楼主| 发表于 2023-1-19 19:26:13 | 显示全部楼层
回复 9# 浅暮丶千殇


    感谢大佬 已解决
 楼主| 发表于 2023-1-19 19:26:28 | 显示全部楼层
回复 8# Batcher


    感谢!!!!!已解决
发表于 2023-1-19 23:54:35 | 显示全部楼层
本帖最后由 dos-a 于 2023-1-20 00:23 编辑

回复 11# 旺财11k


    我的发你把,,
setlocal enabledelayedexpansion
for /f "skip=1 tokens=1 delims= " %%a in ('adb devices') do (
set devices=%%a
)
echo !devices!
pause

delims 后 空白处是空格
setlocal enabledelayedexpansion
延迟变量作用(百度即可 比较详细)
发表于 2023-1-20 00:04:52 | 显示全部楼层
本帖最后由 dos-a 于 2023-1-20 00:08 编辑

回复 8# Batcher

,大佬通用方法是吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 06:40 , Processed in 0.016526 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表