Question

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
Was it helpful?

Solution

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.

OTHER TIPS

This should work:

 ECHO %USERNAME% >> LOG_FILE_NAME.LOG
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top