|
zgren1979
初级用户
积分 52
发帖 24
注册 2006-11-16
状态 离线
|
『楼 主』:
关于">"的疑惑.......
在批处理版区,看到一些批处理的列子,其中关于">"的用法,很有疑惑....
比如说:
Quote: | C:\>msg %username% /v /w /time:9999 "请确定">nul |
|
和
Quote: | @echo off
echo intAnswer = Msgbox("您好,请点击确定!", vbExclamation , "您好")>%Temp%\Temp.vbs
%Temp%\Temp.vbs |
|
两个列子都用到">",,,,由于原先我说接触的关于">"的解释就是重定向命令,但感觉上面两个列子,都有执行的作用在里面....因为不要>的话,就无法执行...
问题很弱,但搞不懂就很不爽....望大家释疑....多谢
|
|
2006-11-16 12:15 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
2 楼』:
Re zgren1979:
正如你所说,">"的确是重定向符号,它分为"文件重定向"和"设备重定向",重定向可以将屏幕的输出重定向到其它的文件或者设备中。
上面两个例子里面,有没有">",其前面的命令照样会执行,只是对后面结果有了影响罢了。比如第二例中,没有">"符号的话,其前面不包含echo 的字符就不能被写入"%Temp%\temp.vbs",也就是里面没有内容,这样就会导致后面跟着的Temp.vbs无法正常执行而出错。
|
|
2006-11-16 16:44 |
|
|
zgren1979
初级用户
积分 52
发帖 24
注册 2006-11-16
状态 离线
|
『第
3 楼』:
多谢lxmxn的.....
还是2个问题...
1、可能有点偏题,就是把"echo intAnswer = Msgbox("您好,请点击确定!", vbExclamation , "您好")"写入到TEMP.VBS,就可以被执行VBS吗? 这里我不是太懂,
VBS是写入即执行吗?
2、那C:\>msg %username% /v /w /time:9999 "请确定">nul这个列子,也有>NUL,
而且NUL是什么文件格式都没指定,既然C:\>msg %username% /v /w /time:9999 "请确定"可以在此列中可以被直接执行
这样的重定向的作用是什么,是书写习惯,还是约定俗成..没明白..
|
|
2006-11-16 21:35 |
|
|
zgren1979
初级用户
积分 52
发帖 24
注册 2006-11-16
状态 离线
|
|
2006-11-17 11:39 |
|
|
ccwan
金牌会员
积分 2725
发帖 1160
注册 2006-9-23 来自 河北廊坊
状态 离线
|
『第
5 楼』:
1、@echo off
echo intAnswer = Msgbox("您好,请点击确定!", vbExclamation , "您好")>%Temp%\Temp.vbs
%Temp%\Temp.vbs
请注意最后一行!
2、>nul 指向空设备
|
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。 |
|
2006-11-17 23:19 |
|
|
zgren1979
初级用户
积分 52
发帖 24
注册 2006-11-16
状态 离线
|
『第
6 楼』:
Quote: | Originally posted by ccwan at 2006-11-17 10:19 AM:
1、@echo off
echo intAnswer = Msgbox("您好,请点击确定!", vbExclamation , "您好")>%Temp%\Temp.vbs
%Temp%\Temp.vbs
请注意最后一行!
2、>nul ... |
|
哈哈..多谢提醒...
|
|
2006-11-18 08:02 |
|
|
DOS95
初级用户
积分 112
发帖 49
注册 2006-9-23
状态 离线
|
『第
7 楼』:
NUL 是 DOS 系统的一个标准设备,指代空设备,它存在于系统的任何一个路径之下。
对 DOS 系统而言,标准输入是指键盘,而标准输出是显示器和打印机,">"是输出重定向,作用就是把原来输出到标准输出的内容转向到 ">" 后面指定的设备或是文件。是设备的话,由设备输出;是文件的话,清除原文件内容写入新内容,如果原文件不存在则自动创建;要是想在原文件内容上追加新内容,用 ">>" 即可。
|
|
2006-11-22 19:57 |
|