Ich bin ein absoluter Anfänger mit VB daher könnte ich einige dumme Fragen stellen.
Ich habe ein VB-Skript, das über eine Batch-Datei ausgelöst wird, was dazu führt, dass Daten für den letzten Tag importiert werden. Unten ist der Code für VB und Batch-Datei.
Bitte lassen Sie es mich wissen, wenn Sie einen Fehler im Code sehen.Auto Import Script funktioniert nicht
VB Script
rem
rem XLink_Import.vbs
rem
Set oShell = WScript.CreateObject("WScript.Shell")
' filename = oShell.ExpandEnvironmentStrings("today_xlink.bat")
' Set objFileSystem = CreateObject("Scripting.fileSystemObject")
' Set oFile = objFileSystem.CreateTextFile(filename, TRUE)
Dim i
Dim ImportStartOffset, ImportedNumberOfDays
If WScript.Arguments.length > 0 Then
For i=0 to WScript.Arguments.length-1
Arg = WScript.Arguments(i)
If Left(Arg,1) = "-" Then
If (Arg = "-o") Then
ImportStartOffset = WScript.Arguments(i+1)
End if
If (Arg = "-n" or Arg = "-l") Then
ImportedNumberOfDays = WScript.Arguments(i+1)
End if
End if
Next
End If
rem Prepare the import start date
Dim Dy, Mth
Dim ImportDate
ImportDate = Now + ImportStartOffset
Dy = Day(ImportDate)
Mth = Month(ImportDate)
If Len(Dy) = 1 Then Dy = "0" & Dy
If Len(Mth) = 1 Then Mth = "0" & Mth
ImportStartDate = Dy & "/" & Mth & "/" & Year(ImportDate)
rem Prepare import script to run (not useed yet)
rem oFile.WriteLine("isps_ul.exe -t -d " & todaydate & " -L 1")
rem oFile.Close
rem Run XLink import
wscript.echo "isps_ul.exe -t -d " & ImportStartDate & " -L " & ImportedNumberOfDays
oShell.Run "isps_ul.exe -t -d " & ImportStartDate & " -L " & ImportedNumberOfDays, 1, true
Batch File
@echo off
rem
rem XLink_Import.bat
rem
rem Manually starts an Xlink import starting today + a StartOffset of some days.
rem Imported number of days can also be set.
rem
set ImportStartOffset=0
set ImportedNumberOfDays=1
cscript XLink_Import.vbs -o %ImportStartOffset% -n %ImportedNumberOfDays%
pause
erhalten Sie einen Fehler beim Ausführen Ihres Skripts? wenn ja, welche und an welcher Linie? Warum der Stapel, können Sie die Konfiguration im Skript selbst oder mit Parametern aus der Befehlszeile? Sie sollten die Ausführungszeichenfolge auch einer Variablen als DRY zuweisen. – peter
Hallo @peter - Danke für Ihre Antwort, Nein, ich bekomme keine Fehlermeldung, ich bekomme die Nachricht "isps_ul.exe -t -d28/11/2016 -L" Grund für die Verwendung von Batch ist, dass ich diesen Job automatisieren möchte und die einzige Weise, die ich kenne, ist die Verwendung von Windows Task Scheduler. Es tut mir leid, aber ich verstehe den DRY Teil (Bitte vergib meine Unwissenheit ich gerade angefangen) –