Creare un file LOG di procedure eseguite tramite un BAT file

Creare un file di testo per il controllo dell’esecuzione di processi da command-line può essere molto utile. Invece che stampare a video, si può registrare l’esecuzione di una procedura in un file .txt o .log da analizzare successivamente.

OBIETTIVO:

Creare un file .log con commenti, data e tempo iniziale, stampa di alcune procedure, tempo finale. Al nome del file verrà concatenata una stringa della Data e del Tempo.

SOLUZIONE:

Utilizzare i simboli maggiore [>]  e molto maggiore [>] di DOS [link]: il primo sovrascrive il file ogni volta, il secondo aggiunge una riga al file (append).

ESEMPIO:

Creare un BAT file del tipo:

@echo off
:: export_values_from_mssqldb.bat
::
:: Esporta i dati dal database MS SQL Server 2005.
:: Imposta il file LOG nella forma [mssqlreport_yyyymmddHHMMSS.log]
::
:: set variables
SETLOCAL
SET logpath=c:\root\mmdata_temp\log\
SET logdate=%date:~6,4%%date:~3,2%%date:~0,2%
SET logtime=%time:~0,2%%time:~3,2%%time:~6,2%
SET mylogfile=%logpath%mssqlexport_%logdate%%logtime%.log

:: create file log
ECHO Export MS SQL Server  data to CSV > %mylogfile%
ECHO %date% >> %mylogfile%
ECHO %time% >> %mylogfile%
:: export data_values.csv
BCP “exec mydb.dbo.exportDataToCSV” queryout c:\data_temp\data_values.csv -c -t , -U userid -P pw -S myserver\mssql_instance >> %mylogfile%

:: copia file su \server

:: set overwrite
SET COPYCMD=/Y >> %mylogfile%
:: copy data_values.csv
XCOPY c:\data_temp\data_values.csv \\server\data_temp >> %mylogfile%

:: fine dell’esecuzione
ECHO %time% >> %mylogfile%

Il risultato sarà del tipo:

Export MS SQL Server  data to CSV

26/04/2012
16:55:48,09

Starting copy…
1000 rows successfully bulk-copied to host-file. Total received: 1000
1000 rows successfully bulk-copied to host-file. Total received: 2000
1000 rows successfully bulk-copied to host-file. Total received: 3000
1000 rows successfully bulk-copied to host-file. Total received: 4000

676739 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 1825 Average : (370815.89 rows per sec.)

C:\data_temp\data_values.csv
1 File copiati

16:55:50,35

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...