当前位置: 代码迷 >> 其他开发语言 >> DOS批处理,怎么将命令输入重定向到变量中
  详细解决方案

DOS批处理,怎么将命令输入重定向到变量中

热度:4001   发布时间:2013-02-26 00:00:00.0
DOS批处理,如何将命令输入重定向到变量中?
如题,比如在批处理中有
dir
默认是输出到屏幕
dir > a.txt
可以输出到文件
但是如何输出到变量?或者通过中间文件,可以将这个结果保存到某个变量里?
谢谢

------解决方案--------------------------------------------------------
环境变量中不能包含换行、回车等字符,所以只能单行,而且windows中环境变量最大长度有32767字符的限制,在批处理中限制不能超过最大命令行长度(2047或者8191,取决于操作系统)。
所以你要把一个多行文件原样保存到某个环境变量中是不可能的。

------解决方案--------------------------------------------------------
这是可以的:

dir /b /-p >filelist.txt
for /F "delims=
------解决方案--------------------------------------------------------
" %%i in (filelist.txt) do (
if /I "%%~xi"==".exe" (
set filename=%%i
goto done
)
)
:done
echo %filename%
set filename=
del filelist.txt
  相关解决方案