如何用DOS命令生成log文件!100献
这首先要看您的批处理文件里的一个个命令输出的结果是不是纯文本的,如果您调用一个复杂程序或一个图形化的窗口,它的结果可能没法显示为一个纯文本文件。
如果那个批处理文件的每一个命令的输出结果都是纯文本的,您可以在那些命令的每一行后面加上这样的字符“>>log。 txt”(不包括引号),这样,它将把每个命令产生的文本结果追加到 log。txt 之中。
如上操作后,您再执行那个批处理文件,屏幕上好像无显示,但结果都追加到 log。txt 里了。
譬如我自己建了一个 t 的文件,里面只有一行命令:
dir/on/b>dirlist。 txt
执行这个批处理文件,它便把当前目录中的所有文件按字母...全部
这首先要看您的批处理文件里的一个个命令输出的结果是不是纯文本的,如果您调用一个复杂程序或一个图形化的窗口,它的结果可能没法显示为一个纯文本文件。
如果那个批处理文件的每一个命令的输出结果都是纯文本的,您可以在那些命令的每一行后面加上这样的字符“>>log。
txt”(不包括引号),这样,它将把每个命令产生的文本结果追加到 log。txt 之中。
如上操作后,您再执行那个批处理文件,屏幕上好像无显示,但结果都追加到 log。txt 里了。
譬如我自己建了一个 t 的文件,里面只有一行命令:
dir/on/b>dirlist。
txt
执行这个批处理文件,它便把当前目录中的所有文件按字母顺序并且只包含文件名(不包括大小、时间等暂时无用的信息)写入到 dirlist。txt 这个文件中。这是一个非常实用的小程序。
如果您的批处理文件包括多个命令,就要使用“>>”的重定向命令,它的意义是对每一行的输出结果进行“追加”,如果使用“>”就把前面已有的内容替换掉了。
========================================================
您再次来短信提出:只有正常的命令可以输出结果,错误的命令无法输出。
补充回答如下:
在批处理命令的每一行后加入如下字符(为便于辨认,另起行书写,复制到批处理文件的每一行最后即可。
注意,中间有一个空格):
>>log。txt 2>&1
它的意思是:如果出现错误(即 STDERR,句柄 2),则重定向到句柄 1(即 STDOUT)之中,也追加到前面的输出结果里了。
==========================================
您第三次提出了需要实现的功能,即:如果存在 1。
exe,就改名为 2。exe;如果不存在,就显示出现错误的日期和时间。
就您所说的改名判断批处理文件,建议采用以下命令:
if exist 1。exe ren 1。exe 2。exe &echo ===================================>>log。
txt &echo 恭喜您,文件"1。exe"已改名为"2。exe"!>>log。txt &echo ===================================>>log。txt &exit
if not exist 1。
exe echo ===========================>>log。txt &echo 很抱歉,文件"1。exe"并不存在!>>log。txt &echo。|date>>log。
txt &echo。|time>>log。txt &echo ===========================>>log。txt
具体解释:
第一行:如果存在 1。exe 那么就改1。
exe为2。exe,并在log。txt中声明“恭喜您,文件"1。exe"已改名为"2。exe"!”,并退出程序;
第二行,如果不存在 1。exe ,那么就在log。txt中声明“很抱歉,文件"1。
exe"并不存在!”,并显示发生错误的时期和时间。
在这些命令中,&的意思是继续执行后面的命令。加入“====”是为了使显示更清晰。收起