DOS批处理,如何将命令输入重定向到变量中?

daviddb7 2012-11-13 03:56:37
如题,比如在批处理中有
dir
默认是输出到屏幕
dir > a.txt
可以输出到文件
但是如何输出到变量?或者通过中间文件,可以将这个结果保存到某个变量里?
谢谢
...全文
677 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟俊 2013-09-22
  • 打赏
  • 举报
回复
谢了,正在用这个
  • 打赏
  • 举报
回复
这是可以的: 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
daviddb7 2012-11-15
  • 打赏
  • 举报
回复
引用 1 楼 DelphiGuy 的回复:
环境变量中不能包含换行、回车等字符,所以只能单行,而且windows中环境变量最大长度有32767字符的限制,在批处理中限制不能超过最大命令行长度(2047或者8191,取决于操作系统)。 所以你要把一个多行文件原样保存到某个环境变量中是不可能的。
感谢,能否实现通过中间文件,将文件当中的某一行保存到变量里?
  • 打赏
  • 举报
回复
环境变量中不能包含换行、回车等字符,所以只能单行,而且windows中环境变量最大长度有32767字符的限制,在批处理中限制不能超过最大命令行长度(2047或者8191,取决于操作系统)。 所以你要把一个多行文件原样保存到某个环境变量中是不可能的。

3,424

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧