Board logo

标题: 如何把命令的输出赋值给变量 [打印本页]

作者: watace     时间: 2007-6-22 00:33    标题: 如何把命令的输出赋值给变量
如何把命令的输出赋值给变量,不使用临时文件

作者: HAT     时间: 2007-6-22 10:17
管道不行么?

作者: bjsh     时间: 2007-6-22 11:07
for

作者: watace     时间: 2007-6-22 17:27
赋值要用到for,这么复杂?

作者: lianjiang2004     时间: 2007-6-22 17:45
拿出例子,空对空,有多大意义?

作者: lxmxn     时间: 2007-6-22 17:54
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