VBScript挂起在CopyFile操作上
我正在尝试编写一个函数,将服务器文件上修改的日期与客户端文件上修改的日期进行比较,如果客户端文件较旧,则覆盖客户端文件。这将作为组策略启动脚本的一部分运行。tmp flies是作为调试步骤创建的,以查看代码被卡住的地方。已创建copyfile.tmp,但未创建copydone.tmp。没有一个文件是只读的,并且它在本地系统上下文下运行,本地系统上下文具有它所需的所有访问权限 所有文件都存在。如果客户端没有服务器文件,我已经在脚本的前面成功地将服务器文件复制到客户端。(VBScript挂起在CopyFile操作上,vbscript,Vbscript,我正在尝试编写一个函数,将服务器文件上修改的日期与客户端文件上修改的日期进行比较,如果客户端文件较旧,则覆盖客户端文件。这将作为组策略启动脚本的一部分运行。tmp flies是作为调试步骤创建的,以查看代码被卡住的地方。已创建copyfile.tmp,但未创建copydone.tmp。没有一个文件是只读的,并且它在本地系统上下文下运行,本地系统上下文具有它所需的所有访问权限 所有文件都存在。如果客户端没有服务器文件,我已经在脚本的前面成功地将服务器文件复制到客户端。(oFSO是一个文件系统对象,
oFSO
是一个文件系统对象,strWinTemp
是系统在Windows中的临时目录;前面已定义)
我将DateDiff检查和End Sub之间的行替换为:
If oFSO.FileExists(clientfile) then oFSO.DeleteFile(clientfile)
oFSO.CopyFile servfile, clientfile, TRUE
由于VBScript在布尔上下文中将0解释为
False
,将非零值解释为True
(如CopyFile
的Overwrite
参数),因此此更改显然不可能解决问题中描述的问题。对。我仍然不明白为什么oso.Copyfile oSrv-oLocal不能工作,不管最后有没有可选的“TRUE”。只需输入filespec(path+filename)就可以了,我不需要创建更多的对象。注意:我这里最大的问题是调用函数时参数顺序错误。哦!
If oFSO.FileExists(clientfile) then oFSO.DeleteFile(clientfile)
oFSO.CopyFile servfile, clientfile, TRUE