2009-05-01 10 views
1

この.batファイルは、Webサイトのレプリケーションに使用され、開発からプロダクションにファイルを転送し、ジョブの統計情報を含むログファイルを生成します。 .batを実行したユーザーの名前をログファイルに含めたいと思います。これが可能です。ログファイルに.batデータを追加します。

これまでのところ、ユーザーの名前をログファイル%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 

答えて

0
setlocal 
    set log=file.name 
    echo. >> %log% 
    date /t >> %log% 
    time /t >> %log% 
    echo user: %username% >> %log% 
    ::... 
endlocal 

場合は、当然のことながら、 "file.name" 変数値そのものを含めることができます。

+0

ありがとう! ファイルにマップして内容をログファイルに追加する簡単な方法はありますか? –

+0

通常のテキストファイルの場合は、 'type foo.txt >>と入力してください。%log%' – Anonymous

2

これは動作するはずです:

ECHO %USERNAME% >> LOG_FILE_NAME.LOG 
+0

+1 KISSの原理 –

関連する問題