我无法弄清楚我做错了什么。我有一个启动 vbs 脚本的批处理文件。该脚本只是在某些文件中进行一些操作,例如移动它们,创建,删除......它工作正常。执行 bat 它启动 vbs 脚本,一切正常。bat 文件只是生成一个 cscript 文件.vbs
问题是我已经安排了这个 bat 文件。时机成熟时,它会被执行,但我在 vbs 脚本中收到错误“找不到路径”。
这不是计划任务问题,因为我有 11 个任务运行批处理文件并且它们运行顺利,并且脚本被执行(我已经将控制器放在上面)。但是 vbs 脚本总是返回未找到相同路径的错误。
同样,如果我手动执行脚本,它运行没有问题。
该任务是使用我用来手动执行文件的同一帐户安排的,因此这不是权限问题。我只是双击批处理并运行,单击任务计划管理器上的执行并失败。
该系统是windows server 2008 r2标准。我已经尝试重新启动,删除并创建新任务....
谢谢大家
[更新]
我在这里粘贴部分代码
文件:D:\scripts\conf.ini
[script1]
fileA=D:\Rep\exportA.csv
fileB=D:\Rep\exportB.csv
fileC=D:\Rep\exportC.csv
dirHistory=D:\Rep\history
文件:D:\scripts\merge.vbs
Dim iniObj
Set iniObj=New ClsINI
If iniObj.OpenINIFile("D:\scripts\conf.ini") = False Then
wLog("Impossible to read file ini")
Set iniObj = Nothing
Chiudi()
End If
Dim errIni,tmpVal
Dim fileA,fileB,fileC,dirHistory
errIni = iniObj.GetINIValue("script1", "fileA", fileA)
tmpVal = iniObj.GetINIValue("script1", "fileB", fileB)
errIni = errIni+tmpVal
tmpVal = iniObj.GetINIValue("script1", "fileC", fileC)
errIni = errIni+tmpVal
tmpVal = iniObj.GetINIValue("script1", "dirHistory", dirHistory)
errIni = errIni+tmpVal
If errIni > 0 Then
wLog("Error loading file ini")
wLog(errIni)
iniObj.CloseINIFile()
Set iniObj = Nothing
Chiudi()
End If
wLog("File ini Caricato")
Dim objFso,posizioneFile,Fase
Dim arrElement,resArray,actionArray,cedoleArray,varArray ,i
Dim conn,rs,strCon
Dim maxPos,maxTemp
Dim objExcel, objSheet,cella
Set objFso = CreateObject("Scripting.FileSystemObject")
if objFso.FileExists(fileA) then
objFso.DeleteFile(posizione)
wLog("File posizione moved")
else
wLog("File posizione not found")
end if
在这一行得到“找不到路径”的错误
Set posizioneFile = objFso.OpenTextFile(fileA, 8, True)
If not objFso.FileExists(fileB) then
SendEmail("nego")
Fase=false
Else
Set tFile = objFso.OpenTextFile(fileB, 1)
strFile=tFile.ReadAll
tFile.Close
posizioneFile.WriteLine strFile
objFso.MoveFile fileB, dirHistory&"\Negoz_"& CreaId(2) & ".csv"
End If
posizioneFile.Close
文件:D:\scripts\merge.bat
echo Start Merge %date% %time% >> Started.log
cscript D:\scripts\merge.vbs
对不起,如果我之前没有放,但我认为这是一个 Windows 问题,因为我认为代码很好。
谢谢