批处理文件(调用vbs)将在登录时在任务计划程序中运行但未注销

时间:2017-08-29 02:53:17

标签: batch-file scripting task scheduled-tasks scheduler

批处理文件(调用vbs)将在登录时在任务计划程序中运行,但在注销时不会运行

假设:

在发布此帖子之前,我已经浏览了互联网,并在StackOverflow上用尽了我的搜索功能。我尝试过很多好主意 - 没有一个能产生理想的结果。

在“操作”中使用完整的UNC路径。

使用“开始时间”选项

不使用尾随' \'或" Path"在“操作”的“开始时间”选项中

批处理文件在手动执行或从任务计划程序运行时执行,当"仅在用户登录时运行"选中单选按钮但未登录时则不会。

我的盒子上的工作正在运行(或者不是我的情况)。

简单批处理文件:

@echo off

for /R "C:\FilePath" %%f in (*.docx) do (
   call C:\FilePath\convert.vbs %%f C:\FilePath\output\%%~nf.pdf 
)

VBS。

Convert

Sub Convert
   Call docToPdf(WScript.Arguments(0),WScript.Arguments(1))
End Sub

Function docToPdf(byVal docInputFile, byVal pdfOutputFile )
    Dim wordApplication
    Dim wordDocument
    Dim wordDocuments
    Const wdDoNotSaveChanges = 0
    Const wdFormatPDF        = 17

Set wordApplication = CreateObject("Word.Application")

Set wordDocuments = wordApplication.Documents

wordApplication.WordBasic.DisableAutoMacros

Set wordDocument = wordDocuments.Open(docInputFile)

wordDocument.SaveAs pdfOutputFile, wdFormatPDF

wordDocument.Close WdDoNotSaveChanges
wordApplication.Quit WdDoNotSaveChanges

Set wordApplication = Nothing
End Function

此组合可转换docx文件并将其转换为PDF文件。它工作得很好,但我不想让用户登录到我的服务器上运行它。我打开一个解决方案,让它在任务计划程序或其他将在那里运行的解决方案中工作。

***我不确定为什么但是从命令行创建C:\ windows \ System32 \ config \ systemprofile \ Desktop(作为管理员)允许此文件在调度程序中执行,即使它已设置为用户登录时是否运行。

我的新问题是我可以在个人电子邮箱(Windows 10)上运行它,但不能在2012R2服务器上运行.....

0 个答案:

没有答案