我有下面的脚本,它有输出和日志重定向以及写入日志和错误文件的日期和tiem。我正在使用.cmd扩展名保存此脚本。手动当我尝试通过命令提示符运行此脚本时,它运行完美,首先在输出和错误日志中写入当前日期和时间,然后开始记录日志。但是当通过任务计划进行调度时,它只会将当前日期和时间写入日志,但不会记录实际日志。有人可以告诉我如何以这种方式安排这个脚本,它将首先记录当前的日期和时间,然后开始记录日志。
Echo Date:%date% Time:%time% >> error.txt
@echo off
(
Echo Date:%date% Time:%time%
start "" /wait /b "D:\ITSMaaS\BTscripts\capgemini\BESExtract\bin\BES_EXTRACT.exe" "-f D:\ITSMaaS\BTscripts\capgemini\BESExtract\conf\BES_EXTRACT.CONF"
:loop
for /f "tokens=2 delims=: " %%a in ('tasklist ^| find "BES_EXTRACT.exe"' ) do (
if "%ERRORLEVEL%"=="0" (
ping -n 10 localhost > nul 2>nul
goto loop
)
)
start "" /wait /b "D:\ITSMaaS\BTscripts\capgemini\BESExtract\bin\BES_DATA_MAP.exe" "-f D:\ITSMaaS\BTscripts\capgemini\BESExtract\conf\BES_DATA_MAP.conf"
) >> Output.txt 2>> error.txt
答案 0 :(得分:0)
在批处理文件上使用重定向。为了输出两个文件的日期和时间,您可以使用以下技术:
ECHO Date:%date% Time:%time%
1>&2 ECHO Date:%date% Time:%time%
第一个ECHO将写入标准输出,该输出将被应用于批处理文件的>> Output.txt
捕获。第二个ECHO将写入标准错误,该输出将被2 >> error.txt
重定向。
如果您担心值可能略有不同(可能是百分之一秒),您可以先将输出字符串存储到变量中:
SET "datetime=Date:%date% Time:%time%"
ECHO %datetime%
1>&2 ECHO %datetime%
答案 1 :(得分:0)
设置'program / script':'yourfile.bat' WITH WITH PATH
设置'开始'路径的其余部分