2013-12-17 105 views
2

我可以使用redirection運算符將命令行命令的輸出重定向到文件。批處理文件 - 將命令和輸出重定向到一個文件

dir >> sample.txt 2>&1 

但只是輸出被重定向。我還想將執行的命令寫入文件(上例中的dir),以便日誌文件顯示執行的命令和輸出。

我能想到的一種方法是將命令存儲在字符串中,將字符串重定向到文件,然後執行該字符串,以便輸出重定向。有沒有更簡單的方法來做到這一點?

回答

1

你可以簡單地使用ECHO ON

@echo off 
call :commandAndOutput > out.txt 
exit /b 

:commandAndOutput 
echo on 
cd 
dir 
@echo off 
exit /b 
0

我會做的是雙倍你的命令。首先將ECHO寫入>>您的文件,然後是沒有回聲的相同的東西。例如。

ECHO "DISM /get-mountedwiminfo" >> B:\Sample.txt 
DISM /get-mountedwiminfo >> B:\Sample.txt 

結果在文本文件中。

DISM /get-mountedwiminfo 

Deployment Image Servicing and Management tool 
Version: 6.1.7600.16385 

Mounted images: 


No mounted images found. 

The operation completed successfully. 
1

您可以構建自己的命令。例如,您創建一個ddir.bat這樣的:

@echo off&cls 
echo %cd%^> dir %* 
dir %* 

,然後在地方調用dir你打電話給你的新命令

ddir *.* /b > output.txt 

這將這樣的伎倆

相關問題