2016-01-26 2 views
0

Я создал файл bat, который перезапускает 2 службы, и я запускаю его в планировщике задач. Если я обычно запускаю файл bat, я вижу, что он регистрируется в текущем каталоге как файл bat. Но если я запустил его через планировщик задач, я могу увидеть, как запускается летучая мышь, как в окне служб, я вижу, как перезапуск служб, но он ничего не регистрирует ... Кто-нибудь знает, в чем проблема?Файл Bat не регистрируется при запуске из планировщика задач?

Это на сервере Windows 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% 
+0

Понял, что по какой-то причине он записывался в папку system32, но сработал абсолютный путь. – omega

+0

Попробуйте установить абсолютный путь, например C: \ temp \ foo.log для вашего файла журнала – Marged

ответ

1

Я хотел бы предложить, что файл действительно создается, но в «текущей директории», в котором пакетные прогонов.

Вы можете выполнить

cd "c:\your\desired\directory" 

в качестве первой линии после @echo off

или

установить текущий каталог как часть запланированной задачи

или

определяют имя файла с полным патчем hanme.

КСТАТИ

if ERRORLEVEL 0 (

будет для всех намерений и целей всегда верно, так как это означает, что «если errorlevel является 0 или больше 0».

Вы можете использовать

if %errorlevel%==0 (

в качестве замены.

Смежные вопросы