中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]如何把当前输出到屏幕的结果输出到文件
作者:
标题: [已结]如何把当前输出到屏幕的结果输出到文件 上一主题 | 下一主题
wjcing
初级用户





积分 71
发帖 59
注册 2007-12-27
状态 离线
『楼 主』:  [已结]如何把当前输出到屏幕的结果输出到文件


for /l %%a in (1 1 10) do (set /p=ok 0>nul)
1.我用Set /p向屏幕输出了10个"ok",要怎么做才能把这10个"Ok"一起保存到一个文本文件中呢?如执行了以上命令后就输出:ok ok ok ok ok ok ok ok ok ok
我想取出"ok ok ok ok ok ok ok ok ok ok"保存到文件中去.
2.能解释一下这个命令的意思吗:set /p=ok 0>nul ,我只知道Set /p 可以等待用户的输入,而set /p中没有变量,是不是就是把ok放到当前屏管道上?0>nu又l是怎么一回事呢?
希望各位高手帮帮忙,谢谢了.



———————————————————————
转移自 DOS疑难解答 & 问题讨论 (解答室)
明显发错版块,扣分予以警示。
——管理员
———————————————————————


[ Last edited by HAT on 2008-12-20 at 22:18 ]

   此帖被 -2 点积分    点击查看详情   
评分人:【 DOSroot 分数: -2  时间:2008-12-20 16:07


2008-12-20 16:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

本版搜索以下内容:
重定向
句柄
>nul
>nul 2>nul

  Quote:
Q: 如何使用论坛的搜索功能来解决自己的问题?
A: 参考:http://www.cn-dos.net/forum/viewthread.php?tid=44122#pid308085





2008-12-20 16:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wjcing
初级用户





积分 71
发帖 59
注册 2007-12-27
状态 离线
『第 3 楼』:  

HAT版主,我就是不知道nul控制台向输入设备循环10次输出结果后,,再用什么方法他们这10次得到的结果一起重写定向到文件中去.

2008-12-20 18:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wjcing
初级用户





积分 71
发帖 59
注册 2007-12-27
状态 离线
『第 4 楼』:  

如,我再加个循环,,,我把第一次循环的10个OK输出为一行,,第二输出10个0k1又是一行,,,如果我直接 >文件.txt 那它们就是一行一行的了。。

2008-12-20 18:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

是这个意思么?
@echo off
for /l %%a in (1 1 10) do (
  set /p=ok <nul>>a.txt
)


   此帖被 +2 点积分    点击查看详情   
评分人:【 wjcing 分数: +2  时间:2008-12-20 20:45




2008-12-20 19:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wjcing
初级用户





积分 71
发帖 59
注册 2007-12-27
状态 离线
『第 6 楼』:  

呵呵。谢谢HAT版主了,
@echo off
for /l %%i in (1 1 10) do (
for /l %%a in (1 1 10) do (
  set /p=ok%%i <nul>>a.txt
)
echo. >>a.txt
)
pause

还是要自己加个换行
我开始是这样想的可不可以用什么方法一次取出这10个OK,之后再一次写入文件中,不用一次一次的写进文件,要是没有方法这样也行了。。反正也是用改其它语言的程序来学习的,呵呵。。谢谢版主了。

2008-12-20 20:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
glbosom
初级用户




积分 31
发帖 17
注册 2008-1-4
状态 离线
『第 7 楼』:  

用延迟的方法先把十个 “ok” 组合起来然后在输出试一试
思路是这样的 我试了一下没写出来 高手应该可以的。

2008-12-20 23:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 8 楼』:  Re 7楼

是这个意思么?
@echo off
setlocal enabledelayedexpansion
for /l %%i in (1 1 10) do (
  set row=
  for /l %%a in (1 1 10) do (
    set row=!row! ok%%i
  )
  echo.!row!>>a.txt
)




2008-12-21 11:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: