![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 20:48 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS学习入门 & 精彩文章 (教学室) » 如何把命令结果作为下一命令的一部分? |
| 可打印版本 965 / 3 |
| 第1楼 cao7113 | 发表于 2008-05-20 09:42 |
| 初级用户 发帖 19 积分 50 | |
|
如何把命令结果作为下一命令的一部分? 各位朋友:
在dos中如何把命令结果作为下一命令的一部分执行?举例如下: echo [date], 我想返回的是date作为命令执行的结果,而不是date这个字符串本身。 我知道在unix/linux相关的shell中,返回命令的执行结果是用反引号(·),那么在dos中如何处理此类问题。 急需解答,希望各位大侠拔刀相助!非常感谢! 现实中的一个相关的需求如下: 我希望在一个for循环中获取当前目录下子目录的列表,子目录列表可以使用dir /b /a:d获得,然而如何将该命令的返回结果放在for循环中进行逐个处理就不是很清楚啦! 大家不妨发表一下意见!谢谢! |
|
| 第2楼 bearingxm | 发表于 2008-05-23 17:12 |
| 新手上路 发帖 4 积分 8 | |
|
关于你的具体问题
不防试下: @echo off for /f "delims=" %%i in ('dir /b /ad') do echo %%i pause |
|
| 第3楼 brglng | 发表于 2008-05-23 20:59 |
| 银牌会员 发帖 466 积分 1,200 来自 上海 | |
|
要把一个命令的输出作为另一个命令的输入,可以使用管道,例如:
type a.txt | more 即把type a.txt的命令输出结果重定向到more的输入 |
|
| 第4楼 cao7113 | 发表于 2008-05-24 10:07 |
| 初级用户 发帖 19 积分 50 | |
|
谢谢各位的回答!
bearingxm的解答中'dir /b /ad'为什么会被作为命令执行呢?而不是作为一个普通字符串处理,有点奇怪!! to brglng: 管道符的原理我也明白,但是很难实现下面的问题: ##==================== echo [date], 我想返回的是date作为命令执行的结果,而不是date这个字符串本身。 我知道在unix/linux相关的shell中,返回命令的执行结果是用反引号(·),那么在dos中如何处理此类问题。 #================== 可能是我理解有限,望指教,多谢! |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |