批处理 < <& >&是什么意思
如题,我想要知道<<&>&这些符号代表什么不要复制一些难懂的机器翻译似的东西给我,像“默认从要求标准输入设备即键盘输入信息”,这些,我基础差,根本读不懂。要求解释得通俗易...
如题,我想要知道< <& >&这些符号代表什么
不要复制一些难懂的机器翻译似的东西给我,像“默认从要求标准输入设备即键盘输入信息”,这些,我基础差,根本读不懂。要求解释得通俗易懂,最好给些例子说明
先谢谢各位大哥!
还有类似<nul >a.txt之类的也说一说 展开
不要复制一些难懂的机器翻译似的东西给我,像“默认从要求标准输入设备即键盘输入信息”,这些,我基础差,根本读不懂。要求解释得通俗易懂,最好给些例子说明
先谢谢各位大哥!
还有类似<nul >a.txt之类的也说一说 展开
推荐于2016-12-02
展开全部
1. < 表示从文件中读取数据,如:
set /p data=<a.txt
表示从a.txt中读取一行内容,赋给变量data
2. <& 和>& 都表示设备重定向 ,如:
前一个表示右侧的设备重定向到左侧,后一个表示左侧设备重定向到右侧设备。左右两侧只能是单个数字。如:
copy __$1234.txt abc.txt 1>a.txt 2>b.txt
会将正确信息输出到a.txt, 出错信息输出到b.txt,而
copy __$1234.txt abc.txt 1>a.txt 2>&1
会将正确信息输出到a.txt, 出错信息重定向到到设备1,从而将出错信息也输出到a.txt
3. >表示把原本输出到屏幕上的数据写入其他设备、文件,如
echo abcd>a.txt
表示把abcd写入a.txt
4. 有些设备比较特殊,系统已经预定义,比如NUL COM1~COM9 等
其中NUL用得最多,常称之为空设备,任何命令向它输出数据都会被清空,任何命令从中读取数据都会是空。如:
set /p data=<nul
变量data没有任何值,而:
echo abcd>nul
不会有任何信息显示。
set /p data=<a.txt
表示从a.txt中读取一行内容,赋给变量data
2. <& 和>& 都表示设备重定向 ,如:
前一个表示右侧的设备重定向到左侧,后一个表示左侧设备重定向到右侧设备。左右两侧只能是单个数字。如:
copy __$1234.txt abc.txt 1>a.txt 2>b.txt
会将正确信息输出到a.txt, 出错信息输出到b.txt,而
copy __$1234.txt abc.txt 1>a.txt 2>&1
会将正确信息输出到a.txt, 出错信息重定向到到设备1,从而将出错信息也输出到a.txt
3. >表示把原本输出到屏幕上的数据写入其他设备、文件,如
echo abcd>a.txt
表示把abcd写入a.txt
4. 有些设备比较特殊,系统已经预定义,比如NUL COM1~COM9 等
其中NUL用得最多,常称之为空设备,任何命令向它输出数据都会被清空,任何命令从中读取数据都会是空。如:
set /p data=<nul
变量data没有任何值,而:
echo abcd>nul
不会有任何信息显示。
更多追问追答
追问
请详细一点,谢谢
追答
0表示键盘,1表示接收正确信息设备(显示器),2表示接收错误信息的设备(显示器)。3~9未定义,可根据需要定义。
设备0和设备1常常省略。
echo abc >a.txt 实际上是echo abc 1>a.txt的简写
set /p data=a.txt可以理解为设备1被a.txt代替了,原本输出到设备1的,现在输出到a.txt。
set /p data=0<a.txt可以理解为设备0被a.txt代替了,原本要从键盘输入的,现在从a.txt中读取。
展开全部
批处理命令不少,是不太好理解,需要一个一个慢慢学,说几个常用的吧:
> 和 >> 表示重定向
例子:
echo 12345>a.txt
表示将信息12345写入a.txt,写入时a.txt中原来的数据会被清除。
echo 12345>>a.txt
表示在a.txt文件的末尾添加信息12345,不清除原来的数据。
NUL () 表示虚拟的空设备,可以屏蔽某些出错信息或DOS提示
例子:
COPY *.* C:>NUL
这样,原来显示在屏幕上的"*.* files copies.”的提示将被屏蔽不再显示。
> 和 >> 表示重定向
例子:
echo 12345>a.txt
表示将信息12345写入a.txt,写入时a.txt中原来的数据会被清除。
echo 12345>>a.txt
表示在a.txt文件的末尾添加信息12345,不清除原来的数据。
NUL () 表示虚拟的空设备,可以屏蔽某些出错信息或DOS提示
例子:
COPY *.* C:>NUL
这样,原来显示在屏幕上的"*.* files copies.”的提示将被屏蔽不再显示。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
>:输入到文件且不覆盖原文件
>>:输入到文件且不覆盖原文件
<:代表从某个文件读取数据来赋值,一般可以用set/p
例子:
1.txt,2.txt,3.txt中都含有有123这三个字符,执行
echo 1>1.txt
echo 1>>2.txt
打开1.txt会发现只有一行,"1"
打开2.txt会发现第一行是原先的123,第二行是新加的"1"
set/p a=<3.txt
a的值会变成1
echo %a%时,回显就是1了
>>:输入到文件且不覆盖原文件
<:代表从某个文件读取数据来赋值,一般可以用set/p
例子:
1.txt,2.txt,3.txt中都含有有123这三个字符,执行
echo 1>1.txt
echo 1>>2.txt
打开1.txt会发现只有一行,"1"
打开2.txt会发现第一行是原先的123,第二行是新加的"1"
set/p a=<3.txt
a的值会变成1
echo %a%时,回显就是1了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询