Task Scheduler未运行交互式批处理文件/如何使批处理文件不交互式

时间:2019-09-09 14:10:27

标签: batch-file vbscript taskscheduler

我正在尝试使用任务计划程序运行批处理文件。 批处理文件正在利用SecureFX通过cmd行在服务器之间传输文件。问题是该命令打开一个cmd窗口并显示有关文件传输的信息。我认为由于打开的cmd窗口,任务计划程序将无法在“运行用户是否已登录”模式下正确运行此程序。

问题是我需要它在“无论用户是否登录”模式下运行。 我尝试将vbs脚本与以下内容配合使用:

Set Shell = CreateObject("Shell.Application")
Shell.ShellExecute "my.bat", , , "runas", 0

这本身就可以解决问题,.bat不运行cmd窗口,但是通过任务计划程序运行时,我得到0x41301的结果,这显然意味着任务已经在运行,但是任务没有在先运行。

my.bat的内容:

@echo off
for /f "tokens=1-4 delims=/ " %% in ('date /T') do set MyDate=%%a%%b%%c
for /f "tokens=1-4 delims=: " %%a in ("%TIME%") do set MyTime=%%a%%b%%c
set LOGFILE=D:\logfilelocation\sfxcl_log_%MyDate%_%MyTime%.txt

sfxcl /NOPROMPT /LOG "%LOGFILE%" D:\path_to_files_for_transfer\rt_*.zip sftp://user:password@hostname//destinationFolder:/

任务计划程序设置:

  • 用户:系统

  • 以最高特权运行-开

  • 运行是否登录用户-打开

  • 每天触发-每天09:00

  • 操作,在“程序/脚本”字段中:

  • D:\ location_bat_file \ my.bat

  • “添加参数”和“开始于”字段为空。

  • 我要使用的批处理文件和vbs文件的位置在本地。

有人可以帮忙吗?

0 个答案:

没有答案
相关问题