中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 10:41
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 批处理文件中无法输入重定向符号">"
可打印版本  6,830 / 31
第1楼 ql2000 发表于 2004-04-12 00:00
初级用户 发帖 23 积分 211
批处理文件中无法输入重定向符号">"
我想建立一个批处理文件a.bat,想通过它建立另外一个批处理文件b.bat,并向b.bat里输入重定向符号“>” 如其中一句:



echo echo abcd > c.txt >b.bat



我的目的是将 echo abcd > c.txt 输入到批处理文件b.bat中,因为使用了两个重定向符号,所以造成了混乱,文件默认执行了第一个 >,以致 >符号无法输入进文件b.bat中,请问各位高手如何解决,谢谢!





第2楼 Climbing 发表于 2004-04-12 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
恐怕必须要借助第三方软件才能实现。试试Horst的Qecho命令。
第3楼 cdl 发表于 2004-04-12 00:00
中级用户 发帖 107 积分 340
用重定向先生成一个a.bat然后取消重定向,再用copy成b.bat
第4楼 Climbing 发表于 2004-04-12 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
以下是引用ql2000在2004-4-12 12:19:17的发言:
我想建立一个批处理文件a.bat,想通过它建立另外一个批处理文件b.bat,并向b.bat里输入重定向符号“>” 如其中一句:



echo echo abcd  > c.txt >b.bat



我的目的是将 echo abcd  > c.txt  输入到批处理文件b.bat中,因为使用了两个重定向符号,所以造成了混乱,文件默认执行了第一个 >,以致 >符号无法输入进文件b.bat中,请问各位高手如何解决,谢谢!


 
 
 



又查了一下,用Horst的lmod就可以实现你所说的功能,如下:
echo echo abcd | lmod >b.bat
第5楼 ql2000 发表于 2004-04-12 00:00
初级用户 发帖 23 积分 211
谢谢climbing,想不到要借助第三方软件,这样做通用性不是太好,但解决了我的长久以来的问题,真是太谢谢你了。

至于3楼cdl朋友的方法,我看不懂,你能根据我所说的编给我看看吗?先谢了。
第6楼 Climbing 发表于 2004-04-12 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
不借助第三方软件估计很难实现,因为“>”是系统保留字符,dos命令无论如何也无法处理它的。至于cdl的方法,估计他自己都还没有搞明白是怎么回事呢。
第7楼 ql2000 发表于 2004-04-12 00:00
初级用户 发帖 23 积分 211
呵,但愿cdl能明白。既然climbing这样说了,我也只好放弃了。哎........
第8楼 willsort 发表于 2004-04-13 00:00
元老会员 发帖 1,512 积分 4,432
Re ql2000:

Climbing兄大概没有仔细看过Roy关于接受键盘输入的那封帖子,那上面就是输出重定向符号以及其他系统符号的巧妙方案。不借助第三方工具,而是使用内部命令PROMPT。具体使用方法如下:

%comspec% /c prompt echo abcd $g c.txt >b.bat
第9楼 ql2000 发表于 2004-04-13 00:00
初级用户 发帖 23 积分 211
好,谢谢willsort,试试去!!!!
第10楼 Climbing 发表于 2004-04-13 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
果然高明,受教了。
第11楼 ql2000 发表于 2004-04-18 00:00
初级用户 发帖 23 积分 211
终于找到更好的答案了,非常的简单,只需在前一个>前加符号^即可!即:
echo echo abcd ^> c.txt >b.bat

呵呵,希望大家也了解了解。^_^




第12楼 Climbing 发表于 2004-04-18 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
很不错!
第13楼 willsort 发表于 2004-04-21 00:00
元老会员 发帖 1,512 积分 4,432
Re ql2000:

经测试,此方法只在Windows2000及其同系列系统平台下的DOS控制台有效,而在Windows98及其同系列的系统平台下的DOS控制台和纯DOS下无效。以下内容引自Windows说明文档。
Echo
说明
对 echo 命令使用消息

当回显关闭时可以使用 echo message 命令。要显示几行长的消息而不显示其他命令,可以在批处理程序的 echo off 命令后包含几个 echo message 命令。

隐藏命令提示符

如果在命令行上使用 echo off 命令,则命令提示符将不会出现在屏幕上。要重新显示命令提示符,请键入 echo on。

防止 Windows 2000 回显一行

可以在批处理程序中的命令前面插入 at 符号 (@),以防 Windows 2000 回显该行。

回显一个空行

要回显屏幕上的空行,可以键入 echo 然后加一个句号 (echo.)。不要插入空格。

显示管道和重定向字符

当使用 echo 命令时,要显示管道 (|) 或重定向字符(),请在管道 (|) 或重定向字符(例如,^>、^< 或 ^|)的前面使用脱字符。要使用一个脱字符本身 (^),请在一行中使用两个 (^^)。



第14楼 Climbing 发表于 2004-04-21 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
无论采用什么方法,解决了问题就好。技巧实在太多了,穷其一生恐怕也学不完。

对吧?willsort。
第15楼 willsort 发表于 2004-04-25 00:00
元老会员 发帖 1,512 积分 4,432
Re Climbing:

  某个人学习某样知识总是有特定的目的。正如我学习批处理,就是为了陶陶然自得其乐的同时解决一些实际问题。所以,我对批处理编程技巧的追求某些时候是执著的有些偏执了。

  对于以上问题,我承认我是过于追根究底了些,但我想,这世界上,每个领域内,都需要执著乃至偏执的人,正如这世界上也需要你这样的进退自如的人一样。

  我想这并不妨碍我们成为朋友的可能吧。
1 2 3  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023