首页 文章

从任务计划程序运行时,Bat文件不会记录?

提问于
浏览
0

我制作了一个重新启动2个服务的bat文件,我让它在任务调度程序中运行 . 如果我正常运行bat文件,我可以看到它作为bat文件在当前目录中登录 . 但是如果我通过任务调度程序运行它,我可以看到bat运行,就像在服务窗口中一样,我可以看到服务重新启动,但它没有记录任何东西....有谁知道问题是什么?

这是在Windows Server 2008 r2 64位上 .

谢谢

@echo off
SET waittimeseconds_sp_fix=15
SET logfilename_sp_fix="SPSearchFix.log"

echo %date% %time% - Restart starting >> %logfilename_sp_fix%


net stop SPTimerV4 >> %logfilename_sp_fix% 2>&1
if ERRORLEVEL 0 (
    echo %date% %time% - WORKED - Stopped timer service >> %logfilename_sp_fix%
) ELSE (
    echo %date% %time% - FAILED - Stopped timer service >> %logfilename_sp_fix%
    exit
)

timeout %waittimeseconds_sp_fix%

net stop osearch14 >> %logfilename_sp_fix% 2>&1
if ERRORLEVEL 0 (
    echo %date% %time% - WORKED - Stopped search service >> %logfilename_sp_fix%
) ELSE (
    echo %date% %time% - FAILED - Stopped search service >> %logfilename_sp_fix%
    exit
)    

timeout %waittimeseconds_sp_fix%

net start SPTimerV4 >> %logfilename_sp_fix% 2>&1
if ERRORLEVEL 0 (
    echo %date% %time% - WORKED - Started timer service >> %logfilename_sp_fix%
) ELSE (
    echo %date% %time% - FAILED - Started timer service >> %logfilename_sp_fix%
    exit
)

timeout %waittimeseconds_sp_fix%

net start osearch14 >> %logfilename_sp_fix% 2>&1
if ERRORLEVEL 0 (
    echo %date% %time% - WORKED - Started search service >> %logfilename_sp_fix%
) ELSE (
    echo %date% %time% - FAILED - Started search service >> %logfilename_sp_fix%
    exit
)

timeout %waittimeseconds_sp_fix%

echo %date% %time% - Restart completed >> %logfilename_sp_fix%

echo. >> %logfilename_sp_fix%
echo. >> %logfilename_sp_fix%
echo. >> %logfilename_sp_fix%
echo. >> %logfilename_sp_fix%
echo. >> %logfilename_sp_fix%
echo. >> %logfilename_sp_fix%

1 回答

  • 1

    我建议确实正在创建该文件,但是在批处理运行的“当前目录”中 .

    你可以执行

    cd "c:\your\desired\directory"
    

    作为 @echo off 之后的第一行

    要么

    将当前目录设置为计划任务的一部分

    要么

    用完整的pathanme定义文件名 .

    顺便说一句

    if ERRORLEVEL 0 (
    

    所有意图和目的都将是真实的,因为它意味着“如果 errorlevel 为0或大于0” .

    你可以用

    if %errorlevel%==0 (
    

    作为替代品 .

相关问题