中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-05 03:05
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何把命令的输出赋值给变量 查看 890 回复 5
楼 主 如何把命令的输出赋值给变量 发表于 2007-06-22 00:33 ·  中国 广东 广州 电信
新手上路
积分 6
发帖 2
注册 2007-06-21 23:57
19年会员
UID 92036
性别 男
状态 离线
如何把命令的输出赋值给变量,不使用临时文件
2 发表于 2007-06-22 10:17 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
管道不行么?
3 发表于 2007-06-22 11:07 ·  中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000
发帖 621
注册 2007-01-01 00:00
19年会员
UID 75212
性别 男
状态 离线
for
4 发表于 2007-06-22 17:27 ·  中国 广东 广州 天河区 电信
新手上路
积分 6
发帖 2
注册 2007-06-21 23:57
19年会员
UID 92036
性别 男
状态 离线
赋值要用到for,这么复杂?
5 发表于 2007-06-22 17:45 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
拿出例子,空对空,有多大意义?
Windows 一键还原
http://www.yjhy.com
6 发表于 2007-06-22 17:54 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
RE watace:

不知道你的命令的输出是单行还是多行,单行的话可以不用for,多行的话就要用到for了。

单行:

G:\Cygwin\home\PythonLee>findstr /i "default" %systemdrive%\boot.ini
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

G:\Cygwin\home\PythonLee>findstr /i "default" %systemdrive%\boot.ini>ko.txt

G:\Cygwin\home\PythonLee>type ko.txt
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

G:\Cygwin\home\PythonLee>set /p var=<ko.txt

G:\Cygwin\home\PythonLee>echo %var%
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

G:\Cygwin\home\PythonLee>


多行:

@echo off&Setlocal EnableDelayedExpansion
set num=1
for /f "delims=" %%a in ('findstr "=" %systemdrive%\boot.ini') do (
set var!num!=%%a
set /a num+=1
)
set var
pause
论坛跳转: