大家好,
尝试输出我在FOR循环中运行的任务的结果,其中包含额外的数据。在本例中,我使用FOR循环从文本文件中读取服务器名称,以设置一个计划的作业。我希望捕获每个循环的结果并将其输出到日志文件中,但需要插入其他信息,如服务器名称和时间戳。以下是一些代码片段:
REM - SETUP ENVIRONMENT ------------------------------------------------------------------------------
set source="%~dp0targets.txt"
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do (set datefile=%%k%%i%%j-SNMP_Deploy.log)
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)
for /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b)
REM - PROGRAM VARIABLES ------------------------------------------------------------------------------
set package="%~dp0SNMP_Setup.cmd"
set task=schtasks /create /sc once /tn SNMP_Install /tr %package% /s %%a /u %user% /p %pw% /st %start_time% /sd %start_date%
set log="%~dp0Logs\%datefile%"
REM - SETUP SCHEDULE ON REMOTE SERVERS ---------------------------------------------------------------
for /f "delims=" %%a in ('type %source%') do %task% 1>>%templog1% 2>&1发布于 2011-07-10 07:54:03
正如ghostdog74所建议的,您可以在每个循环中回显一个注释,例如
@ECHO OFF
REM - SETUP ENVIRONMENT ------------------------------------------------------------------------------
SET log="%~dp0log.txt"
set source="%~dp0targets.txt"
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do (set datefile=%%k%%i%%j-SNMP_Deploy.log & echo step 1 >> %log% )
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b & echo step 2 >> %log% )
for /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b & echo step 3 >> %log% )
REM - PROGRAM VARIABLES ------------------------------------------------------------------------------https://stackoverflow.com/questions/1710662
复制相似问题