批处理文件(调用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服务器上运行.....