请教Windows批处理专家,echo中的这个1哪里来的?
319
9
[1 楼] duoduobear
[Canon论坛版主]
23-9-30 02:30
如图:
![]() |
[10 楼] Trompette
[泡菜]
23-10-7 13:12
稍有基础的人都知道>是输出重定向
版主并不是问 1> 是什么意思,而是问为什么批处理里没写 1>,但在执行时回显会出现 1> 因为命令回显是根据命令解释后的结果回显,而不是直接重复文本 在批处理的解释过程中,解释器先读懂这里需要输出重定向,然后完成了对应的语法树 最后根据语法树生成的回显,就不会漏掉 1> 了 |
[9 楼] 中宏丽舍
[禁言中]
23-10-7 11:42
又想起刚进机房就格式化C盘装DOS,因为每台电脑配置都不一样,然后改himem.sys和autoexec.bat的日子
|
[8 楼] pingxh
[泡菜]
23-10-7 11:10
现在又玩起dos来了。
记得当年写批处理的时候,第一行一般是: echo off ,关闭提示的。没求用。 pingxh 编辑于 2023-10-07 11:19 |
[7 楼] 秋日午后的阳光
[泡菜]
23-10-7 09:59
会点windows命令行或linux shell的应该都懂这个
|
[6 楼] duoduobear
[Canon论坛版主]
23-10-1 00:46
benniewang 发表于 2023-09-30 03:47 看了这个链接才恍然大悟,这是重定向的功能,不是echo的功能,所以我查echo的帮助信息没有找到答案。 十分感谢! |
[5 楼] Trompette
[泡菜]
23-9-30 09:41
duoduobear 发表于 2023-09-30 02:30 我自己的 windows 10 19045 也是这样,cmd 解释器一共自动插入了3个字符,“空格+1+重定向符” 只能解释成 cmd 解释器的回显并不简单显示命令行,而是显示解释器预处理后(显式重定向)的命令行 |
[4 楼] 臭手
[老坛泡菜]
23-9-30 08:40
duoduobear 发表于 2023-09-30 02:30 半桶水的表示,可能有几个意思: 1. 楼上大佬说的,以文本格式重定向赋值给DUT_Name.txt; 2. 楼上大佬说的,输出正常时的赋值。如果是STDERR则用2来赋值ERR信息,这里大约是STDERR直接忽略不要了; 3. 重定向过程同时显示在屏幕上,貌似重定向赋值时是只干活不显示,加个1就是同时显示。 上面3种可能大约都可以省略掉这个1,貌似都没啥影响。 瞎掺和,不一定对。 |
[3 楼] benniewang
[资深泡菜]
23-9-30 03:47
Numeric handles:
STDIN = 0 Keyboard input STDOUT = 1 Text output STDERR = 2 Error text output UNDEFINED = 3-9 (In PowerShell 3.0+ these are defined) |
[2 楼] 求一个不重复的注册名
[泡菜]
23-9-30 02:57
我的理解1指的是stdout(2就是stderr)
|