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了。

单行:

  Quote:

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