tags:

views:

614

answers:

2

this .bat file is used for website replication, transferring files from development to prodution and then produces a log file with job stats. I'd like to included the name of the user that kicked executed the .bat within the log file. is this possible.

So far i've only been able to include the user's name within the file name of the log file, %USERNAME%.log.

 @ECHO off
    IF "%1"=="" goto :Syntax
    for %%d in (%1) do call :sub0 %%d
    goto :END

    :sub0
    Echo Replicating Site %1
    rem subinacl /subdirectories D:\inetpub\%1\*.* /setowner=Administrators REM /grant=Administrators=f /grant=SYSTEM=f
    robocopy D:\inetpub\%1 \\111.111.11.11\D$\inetpub\%1 /MIR /ZB /NP /R:3 /W:3 /XD SiteReplication /XD SiteLogs /XD Administration /XD sitestatistics /XF calendar_secure.asp /XF navigation_editor.asp  /LOG:logs\test%USERNAME%.log
    robocopy D:\inetpub\%1 \\111.111.11.11\D$\inetpub\%1 /MIR /ZB /NP /R:3 /W:3 /XD SiteReplication /XD SiteLogs /XD Administration /XD sitestatistics /XF calendar_secure.asp /XF navigation_editor.asp  /LOG+:logs\test.log




    goto :EOF

    :Syntax
    ECHO Usage:  _REP_SITE WEB_Site
    ECHO.
    ECHO Where:  "WEB_Site"   is the name of the folder you want to replicate
    ECHO                      i.e. _REP_SITE www.test.com
    ECHO.
    goto :END

    :END
    exit
+2  A: 

This should work:

 ECHO %USERNAME% >> LOG_FILE_NAME.LOG
splattne
+1 KISS principle
Preet Sangha
A: 
setlocal
  set log=file.name
  echo. >> %log%
  date /t >> %log%
  time /t >> %log%
  echo user: %username% >> %log%
  ::...
endlocal

Where, of course, "file.name" could include variable values itself.

Anonymous
Thanks!Is there an easy way to map to a file and append it's contents to the log file?
MG
If it's a regular text file, you could do `type foo.txt >> %log%`
Anonymous