关于脚本:如何在Windows的变量中获取命令的结果?

1
2
3

D:\> FOR /F"delims=" %i IN ('date /t') DO set today=%i
D:\> echo %today%
Sat 20/09/2008

请注意,"delims="会覆盖默认的空格和制表符分隔符,以便date命令的输出立即被吞噬。

为了捕获多行输出,它实际上仍然可以是单行的(使用变量lf作为结果变量中的定界符):

1
2
3
4
5

REM NB:in a batch file, need to use %%i not %i
setlocal EnableDelayedExpansion
SET lf=-
FOR /F"delims=" %%i IN ('dir \ /b') DO if ("!out!"=="") (set out=%%i) else (set out=!out!%lf%%%i)
ECHO %out%

要捕获管道表达式,请使用^|:

1

FOR /F"delims=" %%i IN ('svn info . ^| findstr"Root:"') DO set"URL=%%i"

猜你喜欢

转载自blog.csdn.net/lingyun1987/article/details/131495424