手动运行时运行正常的批处理脚本在Windows任务计划程序中运行时遇到问题?

时间:2017-03-23 16:46:27

标签: windows batch-file scripting taskscheduler

我有一个专门检查指定Windows服务名称的批处理脚本。它将服务名称,状态和启动类型输出到.csv报告:

type null > servicecheckupreport.csv

echo TIMESTAMP OF REPORT: >> servicecheckupreport.csv
@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-3 delims=/:/ " %%a in ('time /t') do (set mytime=%%a-%%b-%%c)
set mytime=%mytime: =% 
echo %mydate%_%mytime% >> servicecheckupreport.csv
echo , >> servicecheckupreport.csv

FOR /F "delims=: tokens=2" %%a in ('ipconfig ^| find "IPv4"') do set _IPAddress=%%a
ECHO %_IPAddress% >> servicecheckupreport.csv

set host=%COMPUTERNAME%
echo %host% >> servicecheckupreport.csv
for %%a in ("AdobeARMservice" , "aspnet_state" , "AdobeFlashPlayerUpdateSvc" ) do (
  @echo|set /p=%%a
  echo ,
  @sc query "%%~a" | find "STATE"
  @sc qc "%%~a" | findstr "START_TYPE"
) >> servicecheckupreport.csv

批处理脚本在手动运行时工作正常,但我想将其连接到Windows任务计划程序(WTS),以便能够每小时运行一次或我指定的任何时间间隔。

因此,我打开Windows任务计划程序,单击Create Basic Task,指定名称和说明,指定触发器,将操作设置为Start a program,然后完成。

问题是,在WTS中运行的批处理脚本不会输出.csv报告。

我已经四处询问并且也进行了研究,似乎解决方案似乎需要将批处理文件包装在" cmd / c"任务"

问题是,我不知道这意味着什么,包装它"在cmd /c。我可能有一个猜测,但它到目前为止还没有奏效。对我来说,这就像在批处理脚本的每一行前面添加cmd /c一样。

0 个答案:

没有答案