我们使用avast adnm 4.8,它没有关机扫描选项。 我已经制作了一个批处理脚本来关闭时运行Avast。
@echo off
shutwdown -a
pushd "C:\Program Files\Alwil Software\Avast4"
cls
echo --------------------------------------------------------------
echo Bezig met scannen, de computer wordt automatisch uitgezet...
echo --------------------------------------------------------------
aswcmd C: /m /*
popd "C:\Program Files\Alwil Software\Avast4"
shutdown -s
但我只想在星期三扫描电脑。因此,如果不是星期三计算机必须在没有扫描的情况下关闭。
我需要一个VBscript来检查当前日期并调用batchscript,如果它是在周三并且在其他日子继续关闭。我想将此脚本用作关闭脚本。如果可以使用批处理脚本也可以。
提前致谢,
答案 0 :(得分:2)
您可以使用此批处理脚本执行此操作:
@ECHO OFF
FOR /F "TOKENS=1-3 DELIMS=/" %%A IN ("%DATE%") DO SET /A MM=10%%A %% 100, DD=10%%B %% 100, YY=%%C
IF %MM% LSS 3 SET /A MM+=12, YY-=1
SET /A A=YY/100, B=A/4, C=2-A+B, E=36525*YY/100, F=306*(MM+1)/10, DOW=(C+DD+E+F-3)%%7
IF NOT %DOW% == 3 GOTO SHUTDOWN
ECHO TODAY IS WEDNESDAY, SCAN HERE...
:SHUTDOWN
ECHO SHUTDOWN HERE...
DOW变量的值介于0(星期日)和6(星期六)之间。如果您的日期格式不是MM / DD / YYYY,请相应地更改FOR / SET命令中的MM,DD和YY变量顺序。
答案 1 :(得分:1)
这应该可以解决问题
If WeekdayName(Weekday(Date))="Wednesday" Then
Dim shell
Set shell=createobject("wscript.shell")
shell.run "C:\Documents and Settings\Amol\Desktop\Temp\Shutdown.bat"
set shell=Nothing
End If
答案 2 :(得分:1)
与Weekday()进行比较总是更好,只使用WeekdayName()进行显示。
幸运的是,有一个全局系统枚举已经将所有Weekday()的数值映射到Windows安装的本地语言中可读的星期几名称常量。我想你的安装提供了一个vbWoensdag常量。否则我们会让未来的程序员在这里找到4个人吗?
Weekday() will return one of the following constant values:
vbSunday 1
vbMonday 2
vbTuesday 3
vbWednesday 4
vbThursday 5
vbFriday 6
vbSaturday 7
编写测试的正确方法是
If Weekday(date) = vbWednesday Then ....
此外,您始终可以使用“现在”代替“日期”。区别在于Now包括当前时间,其中Date始终将日期时间值的该部分归零。如果以数字方式将datetime变量视为double,则整数部分是日期,时间是余数。所以Date基本上是Int(Now),那是午夜,当那天开始。如果你发现调用DateAdd()过多的简单增量,你也可以说Tomorrow = Date + 1。
答案 3 :(得分:0)
感谢4M01
1)此脚本仅适用于荷兰语Windows :(将“woensdag”更改为您自己的语言,例如,如果您使用英语窗口则更改为星期三。它区分大小写)
If WeekdayName(Weekday(date)) = "woensdag" Then
Dim shell
Set shell=createobject("wscript.shell")
shell.run """C:\Documents and Settings\test\Desktop\scan.bat"""
set shell=Nothing
End If
2)此脚本适用于多语言Windows。 (你必须找到一周的天数。在这种情况下,星期三是4号)
If Weekday(date) = "4" Then
Dim shell
Set shell=createobject("wscript.shell")
shell.run """C:\Documents and Settings\test\Desktop\scan.bat"""
set shell=Nothing
End If