私は自分が間違っていることを理解できません。vbs スクリプトを開始するバッチ ファイルがあります。スクリプトは、ファイルの移動、作成、削除など、一部のファイルでいくつかの操作を行うだけです...正常に動作します。バットを実行すると、vbs スクリプトが開始され、すべてが機能します。batファイルはcscript file.vbsを作成するだけです
問題は、このバッチ ファイルをスケジュールしたことです。時間になると実行されますが、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 の問題だと思っていました。
ありがとう