批处理脚本执行终端命令

时间:2015-02-13 07:45:29

标签: batch-file batch-processing

是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附加在>符号前面。 有什么方法可以避免这种情况吗?

1 个答案:

答案 0 :(得分:1)

每个控制台会话/命令/批处理脚本都有一组数据流,每个数据流都有一个数字:0 = stdin1 = stdout2 = stderr。标准输出流是数字1,所以

command > file  ==  command 1> file

两个命令都是等效的,这意味着:“执行命令并将命令的stdout流重定向到文件”。第二个是更明确的,并且是在未禁用echo并且批解析器转储将要执行的命令时看到的内容。您也可以尝试将其编写为

>file command

并且返回到控制台的结果命令将是相同的。解析器完成其工作并回显生成的命令。

因此,您可以看到该命令或使用

隐藏它
@command > file

@echo off
command > file

但执行的命令将是相同的。