|
我有一个脚本,其作用是新建一个当天日期的文件夹,然后再删除与当前日期相隔大于4天的文件夹。脚本具体内容如下:
On Error Resume Next
a = Date
b = Replace(a, "-", "_")
delDate=4
Set oShell = WScript.CreateObject("WScript.Shell")
Set fs = CreateObject("Scripting.FileSystemObject")
If Not fs.FolderExists ("D:\backup\" & b) Then
fs.CreateFolder("D:\backup\" & b)
End If
Set fd = fs.getfolder("D:\backup")
for each sbfd in fd.subfolders
if (date - CDate(replace(sbfd.name,"_","-"))) > delDate then
fs.DeleteFolder(sbfd.name)
end if
next
Set oshell = nothing
Set fd = nothing
Set fs = nothing
在命令行下直接执行这个脚本,可以成功。然后我直接在“控制面板”->“计划任务”中新建一个执行该脚本的任务(这个任务是我自己的帐户运行的),执行该任务,也是成功的。接着我用at命令新建了计划任务(at 15:00 d:\backup\backup.vbs,该任务默认是用system帐户来运行的),可是在执行该任务的时候,只能够新建一个文件夹,删除不了文件夹,我仔细检查了一下,是“fs.DeleteFolder(sbfd.name)”语句没有能够顺利执行。我这些文件夹的安全权限是设置成everyone完全控制的。操作系统是windows server。请问为什么用system帐号运行的计划任务不能执行这个语句呢?用system帐号运行与用普通帐号运行计划任务有什么不同?system帐号执行的计划任务是不是不能执行某些任务? |
|