2017-06-29 201 views
-1

我有一個sample.cmd文件和一些命令,我​​想寫該命令文件的日誌到一個文本文件?如何將.CMD文件的日誌寫入文本文件?

+0

'command> log.txt'將stdout重定向到log.txt。 – Regejok

+0

@Regejok我有一個命令文件不是一個單一的命令。所以我想要在一個文本文件中捕獲總命令的日誌。 – user2919579

+0

同樣的事情,除非你在另一個腳本里面做。使用'call script'獲得相同的效果。 – Regejok

回答

1

使用

>"theFile.log" (
command1 
command2 
... 
) 

作爲塊內,任何輸出重定向到theFile.log。此外,該文件只能打開和關閉一次。

由於所有輸出發送到theFile.log,如果你想在屏幕上顯示的一些信息,然後把它重定向到控制檯>CON

>"theFile.log" (
command1 
command2 
command3>CON & rem this is echoed in screen 
... 
) 

您使用創建>文件的任何時間。如果你想改變append mode>"theFile.log" (>>"theFile.log" (

編輯,爲您的評論

不明白你的邏輯......

ECHO ON 
REM STEP 1- CHECK FILE 
IF EXIST C:\SAMPLE.TXT (DEL C:\SAMPLE.TXT) 
findstr /I /B .START C:\SAMPLE.TXT > C:\SAMPLE_START.TXT 
EXIT 16 

您正在運行findstr在剛剛刪除的文件。

如果你想檢查測試,如果.START存在或不存在

@echo off 
rem STEP 1- CHECK FILE 
rem Think this line must be 
IF EXIST C:\SAMPLE_START.TXT DEL C:\SAMPLE_START.TXT 

findstr /I /B .START C:\SAMPLE.TXT > C:\SAMPLE_START.TXT && (
    start C:\SAMPLE_START.TXT 
) || (
    echo Not found 
) 
rem EXIT 16 
exit/B 

它用條件運算符&&(前一個命令成功)和||(前一個命令失敗)。

+0

我有一個文件Test.cmd如下ECHO ON REM STEP 1-檢查文件 IF EXIST C:\ SAMPLE.TXT(DEL C:\ SAMPLE.TXT) findstr/I/B .START C:\ SAMPLE .TXT> C:\ SAMPLE_START.TXT EXIT 16我想將此Test.cmd文件的日誌寫入Test.log我試圖像cmd.exe Test.cmd> Test.log,但它不工作。 – user2919579

0

明白了...只需要在命令提示符下運行該文件,如下

C:\用戶\用戶名> 「TEST.CMD」> 「test.log中」

感謝您的建議...

+0

好的,但請參閱編輯答案。它可能有幫助 – elzooilogico