Creating the file takes the following 2 parameters:
- filePath: Where you want the file written, defaulted to your desktop
- baseName: What the file will be called exclusive of a time stamp, defaulted to Output
The script will then take these parameters to create the parameter fileName, which combines the directory location, with what you want the file to be called along with a time stamp, e.g. User\Desktop\Output20170213111157
The command prompt command goes between the parenthesis (). The results of this command will be written to the file.
@ECHO off REM SET FILE OUTPUT DIRECTORY SET "filePath=%USERPROFILE%\Desktop\" REM SET THE BASE OF THE NAME FOR THE OUTPUT FILE SET "baseName=Output" REM CREATE TIMESTAMP SET timeStamp=%date:~6,8%%date:~3,2%%date:~0,2%%time:~0,2%%time:~3,2%%time:~6,2% REM CREATE VARIABLE TO HOLD FILENAME WITH A TIMESTAMP SET "fileNameStamp=%baseName%%Timestamp%" SET "fileName=%filePath%%fileNameStamp%" REM CAPTURE COMMAND OUTPUT TO TEXT FILE > %fileName%.txt ( REM This is where the commands go! ECHO Text Captured )
The following working example captures your computer network information and writes it to the file NetworkInfo(time stamp) on your desktop.
@ECHO off REM SET FILE OUTPUT DIRECTORY SET "filePath=%USERPROFILE%\Desktop\" REM SET THE BASE OF THE NAME FOR THE OUTPUT FILE SET "baseName=NetworkInfo" REM CREATE TIMESTAMP SET timeStamp=%date:~6,8%%date:~3,2%%date:~0,2%%time:~0,2%%time:~3,2%%time:~6,2% REM CREATE VARIABLE TO HOLD FILENAME WITH A TIMESTAMP SET "fileNameStamp=%baseName%%Timestamp%" SET "fileName=%filePath%%fileNameStamp%" REM CAPTURE COMMAND OUTPUT TO TEXT FILE > %fileName%.txt ( REM This is where the commands go! echo Checking your network information, Please wait... systeminfo | findstr /c:"Host Name" systeminfo | findstr /c:"Domain" ipconfig /all | find "Physical Address" ipconfig | find "IPv4" ipconfig | find "Default Gateway" )