在特定时间使用 vbs 运行任何文件 [英] Run any file with vbs at a specific time

查看:53
本文介绍了在特定时间使用 vbs 运行任何文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以在特定时间使用 Vbscript 文件运行任何类型的文件(例如 .mp3、doc、exe ..)?
我找了很多地方,但都没有成功..

Is it possible to run any type of file (like,. mp3, doc, exe..) with a Vbscript file at a specific time?
I looked in many places but there were no success..

推荐答案

试试这个可以安排记事本每天上午 10:00 执行的示例

Give a try for this example that can schedule Notepad to be executed everyday at 10:00 AM

因此,您只需将此脚本中的这 3 个参数修改为您的:

So, you need just to modify those 3 arguments in this script to yours :

  1. 任务名称
  2. App_FullPath
  3. strTime

<小时>

Option Explicit
Dim TaskName,App_FullPath,strTime
TaskName = "Execute_Notepad"
App_FullPath = "C:\windows\notepad.exe"
strTime = "10:00"
Call CreateTask(TaskName,App_FullPath,strTime)

'*****************************************************************
Sub CreateTask(TaskName,App_FullPath,strTime)
Dim ws,strtask,exitcode
Set ws = CreateObject("Wscript.Shell")
strtask = "schtasks /create /sc Daily /tn "& qq(TaskName) & _
          " /tr "& qq(App_FullPath) & _
          " /st " & strTime & " /f"

exitcode = ws.Run(strtask, 0, True)

If exitcode <> 0 Then
  WScript.Echo "External command failed: " & Hex(exitcode)
Else
    wscript.echo "Success !"
End If
End Sub
'*****************************************************************
Function qq(str)
    qq = chr(34) & str & chr(34)
End Function
'*****************************************************************

批处理文件以显示或删除编号的任务名称

@echo off
Mode 100,3 & color 0A
Title Delete Tasks with their time tasks execution by Hackoo 2017
:Menu
Mode 100,3 & color 0A
cls & echo(
echo    Type the time with this format "hh:mm" or a task name to show or delete for scheduled Tasks
set /a "count=0"
set /p "strTime="
cls & echo( 
echo              Please wait a while ... looking for a scheduled Tasks for "%strTime%"
Setlocal EnableDelayedExpansion
@for /f "tokens=1 delims=," %%a in ('schtasks /query /fo csv ^| find /I "%strTime%"') do (
    set /a "Count+=1"
    set "TaskName[!Count!]=%%~a"
)
Rem Display numbered Task Names
Mode 90,30 & cls & echo( 
@for /L %%i in (1,1,%Count%) do (
    set "Task=[%%i] - !TaskName[%%i]:~1!"
    echo !Task!
)

If not defined Task (
    Mode 90,3 & Color 0C
    echo(
    echo                     No Scheduled Tasks found with this criteria
    Timeout /T 3 /nobreak >nul & goto Menu
) 

echo(
Rem Asking user if he wants to delete or not the numbered task names
echo Type the number of the task to delete ! 
set /p "Input="
@for /L %%i in (1,1,%Count%) Do (
    If "%INPUT%" EQU "%%i" (
        schtasks /delete /tn "!TaskName[%%i]:~1!"
    )
)
echo(
echo Type any key to show and delete another task !
Pause>nul
Goto Menu

这篇关于在特定时间使用 vbs 运行任何文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆