是bacth脚本的新手 我正在尝试使用批处理文件执行以下终端命令
"C:\Program Files\dark\dark" -z "lip" -Z doc > sample.doc
以下命令将一些数据输出为示例文档。
我在运行批处理文件时
我得到的命令为"C:\Program Files\dark\dark" -z "lip" -Z doc 1>sample.doc
1附加在>
符号前面。
有什么方法可以避免这种情况吗?
答案 0 :(得分:1)
每个控制台会话/命令/批处理脚本都有一组数据流,每个数据流都有一个数字:0 = stdin
,1 = stdout
,2 = stderr
。标准输出流是数字1,所以
command > file == command 1> file
两个命令都是等效的,这意味着:“执行命令并将命令的stdout
流重定向到文件”。第二个是更明确的,并且是在未禁用echo
并且批解析器转储将要执行的命令时看到的内容。您也可以尝试将其编写为
>file command
并且返回到控制台的结果命令将是相同的。解析器完成其工作并回显生成的命令。
因此,您可以看到该命令或使用
隐藏它@command > file
或
@echo off
command > file
但执行的命令将是相同的。