首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 其他开发语言 >

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

2013-01-26 
DOS批处理,如何将命令输入重定向到变量中?如题,比如在批处理中有dir默认是输出到屏幕dir a.txt可以输出

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

热点排行