输出命令结果到文件

Output command result to file

Windows cmd 文件有以下行

  wget "http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz" -P C:\temp >> dld.log

执行后dld.log文件为空。 输出重定向有什么问题? 有必要将 wget 执行的输出写入 dld.log 文件

wget 将输出重定向到 stderr,主要是为了从结果数据中分离出来。

因此,要使当前重定向代码正常工作,直接的答案是使用 2>&1sterr 流定向到 stdout,如:

(wget "http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz" -P "C:\temp")>>dld.log 2>&1

但是,wget 具有内置的日志功能,这更有意义。开关是--output-file

wget "http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz" -P "C:\temp" --output-file=dld.log

有关详细信息,请参阅 wget manual