Board logo

标题: 如何在批处理中输出带"set"和"if"等语句的内容 [打印本页]

作者: sglxy     时间: 2006-10-25 23:19    标题: 如何在批处理中输出带"set"和"if"等语句的内容
如题,想做一个批处理文件,希望它能够将带"set"和"if"等语句的内容输出到文本文件中,但是整了几次都没有成功,请各位朋友指点一下,先谢谢了!

内容如:

echo set WshShell=WScript.CreateObject("WScript.Shell")>shou.vbs
……

作者: NaturalJ0     时间: 2006-10-25 23:27
我直接试了下你的代码,没发现问题啊。

作者: lxmxn     时间: 2006-10-25 23:57

  这样写应该没有问题的啊。你怎么不行呢?

作者: redtek     时间: 2006-10-26 00:12
Originally posted by sglxy at 2006-10-25 23:19:
如题,想做一个批处理文件,希望它能够将带"set"和"if"等语句的内容输出到文本文件中,但是整了几次都没有成功,请各位朋友指点一䠮..


为什么喜欢不把遇到的问题(你试验不成功的批处理文件内容)贴全了?
如果你不贴全了只测试上面这句没问题,完全可以写入文件。

但是,你未贴上的批处理内容很有可能遇到特殊符号、语法、重定向符……等等各种问题……

如果你不贴全了,大家都要不断的猜,
如果猜不中的话,你还要再贴上部分内容,
大家还要猜……最后只能是你遇到的问题不能一次解决,还要发N多的贴子~:)



C:\TEMP>copy con a.bat
echo set WshShell=WScript.CreateObject("WScript.Shell")>shou.vbs
^Z
已复制 1 个文件。

C:\TEMP>a.bat

C:\TEMP>echo set WshShell=WScript.CreateObject("WScript.Shell") 1>shou.vbs



C:\TEMP>type shou.vbs
set WshShell=WScript.CreateObject("WScript.Shell")



你仅贴上的这句实验完全没有问题:)

请珍惜时间把问题贴全了,一次说明~:)))

作者: 不得不爱     时间: 2006-10-26 00:13
你的代码,没发现问题啊

作者: lxmxn     时间: 2006-10-26 00:29

  F4的 redtek 兄测试的代码中,执行a.bat文件之后,"echo set WshShell=WScript.CreateObject("WScript.Shell") 1>shou.vbs"一句中,怎么会多出一个"1"啊?不明白是什么原因。

作者: 9527     时间: 2006-10-26 00:38
我想lxmxn兄最好还是先看看XP的帮助文档吧

STDIN 0 键盘输入
STDOUT 1 输出到命令提示符窗口
STDERR 2 错误输出到命令提示符窗口


其实每次 >都应该是 1>test.txt 的,不过这个1是可以省略的,但是 2>nul 这个确不能省略,原因很简单,如果省略了就不知道是正常输出还是错误输出了,代表键盘输入0<nul 这个也是可以 <nul以这样的形式来表示的,好了,自己体会吧

作者: 不得不爱     时间: 2006-10-26 01:20
这里的1就是成功执行ECHO 后就把输出输到shou.vbs里

作者: lxmxn     时间: 2006-10-26 01:46

  呵呵,理解了,多谢两位高人指点。