Was zum Teufel...?!

Hawkings

Erfahrenes Mitglied
Hi @ all,

ich habe ein mehrere Seiten langes Problem, dass sich nicht mal so schnell inner Teepause klären lässt.

Und zwar bekam ich vom Chef neulich den Auftrag, das folgende Skript aufzubohren.
Das Skript findet ihr hier...

Man muss dazu sagen, dass ich im Moment noch in de rAusbildung bin und noch nicht allzu viel in VBS - Richtung gemacht habe außer ein Skript zur Backuperstellung und Validierung von Servern mit Abprüfung des Low Space und evtl. Admin mail.

-> will damit sagen, das Skript ist echt knackig für mich

Beispielsweise weiß ich nicht, wenn ich das Skript ausführe, was für eine Datei er öffnen will. Ein Server File, klasse, ist damit eine *.inf Datei gemeint?! Wenn ja, welche?!
Dann finde ich bspw. nicht heraus, wo die Variable "fname" initialisiert wird, bzw. einen Wert zugewiesen bekommt, allgemein ist mir z.B. dieser Block nicht ganz klar. :rolleyes:

Code:
Set objFile = FSO.CreateTextFile("C:\Monitoring\main.html")     
If fso.FileExists (fname) THEN             //fname = pfad 11 
    set objFile = fso.GetFile (fname)
    objFile.Delete
end If

Könntet ihr mir bitte weiterhelfen, ich weiß da nicht mehr weiter.

Gruß, Hawkin
 
ist eigentlich ganz einfach
Visual Basic:
Set objFile = FSO.CreateTextFile("C:\Monitoring\main.html")   
' erstellt eine Textdatei unter C:\monitoring und benennt diese main.html

Visual Basic:
If fso.FileExists (fname) THEN             //fname = pfad 11
wenn die Datei existiert
Visual Basic:
    set objFile = fso.GetFile (fname)
    objFile.Delete
Wird der Pointer auf die datei gesetzt und die Datei gelöscht.

Gruss bb

PS: ein etwas sprechender Titel wäre vielleicht auch hilfreich gewesen;-)
 
PHP:
      set objFile = fso.GetFile (fname)
      objFile.Delete

ich hätte das jetzt in etwa folgendermaßen übersetzt...::

objFile wird zu Objekt gemacht -> Set und bekommt "fname" übergeben
aber die 2. Zeile ist dann dabei etwas komisch, wofür wird etwas übergeben an eine variable, die gleich darauf wieder gelöscht wird?!

und zu fname, ist das eine feste constante in vbs?! hat die irgendwelche standardwerte?!
weil ich im skript nirgendwo eine initialisierung sehe, in vbs ist es doch auch so

1 = 2
hintere übergibt wert an ersteres
also ersteres = 2

fname ist nirgendwo initialisiert, also immer leer, aber es soltle doch eine Pfadangabe sein, oder?!


MFG, Hawkin
 
eigentlich sollte es ein filename sein aber wenn der nie gefüllt ist hast du ja glück weil dann auch keine Dateien gelöscht werden ;-)
 
hm, klingt einleuchtend,

aber was für eine Datei soll denn eigentlich in dem Skript geöffnet werden?! Aus dem Skript selber habe ich es nicht herausgefunden.
Kann es sein, dass er eine *.inf - Datei möchte?! Wenn ja, was für eine?!

Kann mir da jemand weiterhelfen?!

MFG, Hawkin
 
nein es wird die Html datei geöffnet in die dann mehrere Informationen über den Client geschrieben werden.

Grüsse bb
 
Nun, ich denke eher,d ass es ein "ServerFile" sein soll, also ein Verzeichnis, aus dem das PRogramm infos liest, weil ein HTML - File wird 100% nicht verlangt.

Ich habe echt keine Ahnung mehr,was das verdammte Programm will....

Ich kann aus dem Quelltext niucht ersehen, was für eine Datei geöffnet werden soll...


:mad: :mad: :mad:
 
Visual Basic:
FSO.CreateTextFile("C:\Monitoring\index.html")
ist für mich definitiv eine HTML Datei in diese wird ja dann auch mit
Visual Basic:
objFile.Writeline "<html dir='rtl'>"
geschrieben.

Die Variable Fname macht meiner Meinung nach in dem Script keinen Sinn
da sie nicht gefüllt wird

PS: Die richtigen Tags für den Code sind [ VB ] [ / VB]
 
Hm, ok, ich glaube, da haben wir aneinander vorbeiogeredet, hier der auszug, denn ich meinte aus dem skript ::

Visual Basic:
'Script

'Create a Folder

Set objFolder = FSO.CreateFolder("C:\Monitoring")
Set objFolder = FSO.CreateFolder("C:\Monitoring\Computers")

'Open the Servers File
Set objDialog = CreateObject("UserAccounts.CommonDialog")

objDialog.Filter = "All Files|*.*|Text Files|*.txt"
objDialog.InitialDir = "C:\"
intResult = objDialog.ShowOpen

If intResult = 0 Then
Wscript.Quit
Else
ServersFile=objDialog.FileName
End If

MainPage()
IndexFile()
getFile(ServerFile)

'wscript.Echo "OK"

' Opens The File
File2Load ="c:\monitoring\index.html"
SetupIE File2Load

Do While Not IE.Busy 'If you Close the File the script exits if not it continues to refresh the free space page
    wscript.sleep 30000000
    refresher(ServerFile)
    If IE.Quit Then
        Exit Do
    End If
Loop

Hier möchte er eine Datei öffnen, diese ist 100% nicht eine der erst später erstellten html - files...

Aber was dann?!
 
Ups glaube ich auch also:

Visual Basic:
Set objTextFile = FSO.OpenTextFile _
(ServersFile, ForReading)

Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
arrServersList = Split(strNextLine , ",")
For i = 0 to Ubound(arrServersList)
        Server = arrServersList(i)
        CompIndex(Server)
        compfiles(Server)
        objFile.Writeline " <p><a target='contents' href='c:\Monitoring\Computers\" & Server & "-index.html'>" & Server & " (" & i+1 & "</a></p>"
        objFile.Writeline "<BR>" 
Next
Loop
ist der Teil wo er aus der eingegebenen Datei liest.
ich vermute, das eine Datei verlangt wird in der die Server mit Komma seperiert stehen und zwar genau deshalb:
Visual Basic:
arrServersList = Split(strNextLine , ",")

Grüsse bb
 
Zurück