xm-bit
Goto Top

Scripting Unterstützung

Ich habe hier ein Script, was auch ganz gut läuft, aber ein paar Parameter fehlen mir noch.

Da würd ich gerne Wissen, wo ich diese finden kann.

Hi,

hier ist erstmal das Script:

'Schleifen ForEachnext.vbs  
'Schleifen über eine Menge von Objekten  
'verwendet SCRRun  
'=======================================  

' --- Objekt erzeugen  
Set Dateisystem = Createobject("Scripting.FileSystemObject")  

' --- Objektmenge aus dem erzeugten Objekt holen  
Set Laufwerke = Dateisystem.Drives

'Anzahl der Laufwerke ausgeben  
Wscript.Echo "Anzahl der Laufwerke: " & Laufwerke.Count  

' --- Schleife beginnen  
For Each Laufwerk In Laufwerke
If Laufwerk.Isready Then
wscript.echo Laufwerk.Driveletter & ":" & Laufwerk.Volumename  
End If
Next
Jetzt wird mir zwar der Laufwerksbuchstabe angezeigt, aber nicht der Pfad eines Netzlaufwerkes. Wie kann ich es so erweitern, das ich dort noch mehr Detaild finden kann?
Wo finde ich zu dem Punkt Laufwerke weitere Optionen???

Wie kann ich das Ergebnis in eine Datei schreiben...

Ich denke mal es sind nur kleine Fragen, bin ja auch gerade dabei das zu lernen, und anhand von solchen fertigen SCripten, denn Sinn jeder einzelnen Funktion mir begreiflich zu machen.

mfg
Sascha

Content-Key: 115013

Url: https://administrator.de/contentid/115013

Ausgedruckt am: 28.03.2024 um 20:03 Uhr

Mitglied: xm-bit
xm-bit 30.04.2009 um 07:58:22 Uhr
Goto Top
Hi,

habs dann doch durch suchen gefunden.
Es war laufwerke.sharename.
Aber gibt es eine Möglichkeit, das aus der scripting hilfe herauszusuchen??
Wenn ja,

wo finde ich dieses?
Bin noch Laie was scripting angeht...

mfg
Sascha
Mitglied: 20638
20638 30.04.2009 um 08:19:42 Uhr
Goto Top
Hi,
Worunter Programmierst du denn? Welcher editor?
Vielleicht kann dir direkt der Systemscripter weiterhelfen.
Auf der Linken Seite dieses Tolls bekommst du eine Übersicht für verschiedene
Informationen, welche sich hinter einem Object befinden.
Ist zwar für VBS kann aber auch in VB oder VB.Net übernommen werden zu 80%.

Gruß
JT

Edit:
Hier noch der Link: http://www.scriptinternals.de/new/ger/home/default.htm
Mitglied: xm-bit
xm-bit 30.04.2009 um 08:23:00 Uhr
Goto Top
Hi JT,

ich habe mir den Primalscript geholt. Aber da ich damit noch nicht allzulange arbeite, ist halt vieles neu, und ich weiß noch nicht wo ich was finde.

Zur Zeit bin ich dabei mir das scripten mit einem Buch von Holger Schwichtenberg "Windows Scripting lernen" anzueignen.
Das dauert aber auch so seine Zeit. Aber ich bin guter Dinge,das es irgendwann soweit sein wird, das dasa auch klappt.

mfg
Sascha
Mitglied: 20638
20638 30.04.2009 um 08:38:26 Uhr
Goto Top
Hi Sascha,

Lad dir die Trial von der Software mal runter und schau sie dir einfach mal an.Ich finde die Software ist für Scriptng wirklich super geworden, gerade wenn man einsteigt und noch nicht genau weiss, wo man etwas findet.

Durch die Hilfe für WMI kannst du sehr viele Informationen aus dem System direkt auslesen lassen. Einfach einmal per Drag&Drop rein ziehen und fertig face-wink

Was man auch gut benutzen kann ist die WMI Referenz und / oder der Scriptomatic.
Ansonsten die wie immer empfohlenen MSDN Seiten (Sie werden immer besser).

Gruß
Jörg

Edit:
So jetzt aber mal eine kurze übersicht via Beispiel:

strComputer = "."  
Set objWMIService = GetObject("winmgmts:" _  
    & "\\" & strComputer & "\root\cimv2")  

Set colFolders = objWMIService. _
    ExecQuery("Select * from Win32_Directory where name = 'c:'")  

For Each objFolder In colFolders
    WScript.Echo "Archive: " & objFolder.Archive  
    WScript.Echo "Caption: " & objFolder.Caption  
    WScript.Echo "Compressed: " & objFolder.Compressed  
    WScript.Echo "Compression method: " & objFolder.CompressionMethod  
    WScript.Echo "Creation date: " & objFolder.CreationDate  
    WScript.Echo "Encrypted: " & objFolder.Encrypted  
    WScript.Echo "Encryption method: " & objFolder.EncryptionMethod  
    WScript.Echo "Hidden: " & objFolder.Hidden  
    WScript.Echo "In use count: " & objFolder.InUseCount  
    WScript.Echo "Last accessed: " & objFolder.LastAccessed  
    WScript.Echo "Last modified: " & objFolder.LastModified  
    WScript.Echo "Name: " & objFolder.Name  
    WScript.Echo "Path: " & objFolder.Path  
    WScript.Echo "Readable: " & objFolder.Readable  
    WScript.Echo "System: " & objFolder.System  
    WScript.Echo "Writeable: " & objFolder.Writeable  
Next
Oder mit noch ein paar weiteren Informationen für dein Script:

Laufwerk. und dann folgende möglichkeiten:

AvailableSpace
DriveType
FileSystem
FreeSpace
Path
RootFolder
SerialNumber
ShareName
TotalSize
Mitglied: xm-bit
xm-bit 30.04.2009 um 08:53:25 Uhr
Goto Top
Hi Jörg,

das werd ich mal tun. Danke schön für die Antwort.
Eines noch, per wscript.echo lasse ich ja das Ergebnis als Fenster ausgeben.
Wie leite ich das nun in eine Datei???

mfg
Sascha
Mitglied: 20638
20638 30.04.2009 um 09:07:29 Uhr
Goto Top
Hab oben den Thread noch mal ergenzt face-smile

So Also weiterleiten in eine CSV oder txt. Excel kann ich dir auch noch anbieten.
Das ist jetzt etwas einfach gehalten, normalerweise sollte man noch prüfen ob alles funktioniert aber so reicht es erst mal, denke ich.
file = "C:\test.txt"  
Set objFso = CreateObject("Scripting.FileSystemObject")  
Set objTextFile = objFso.createtextfile(file,vbTrue)
'Set textfile = objFso.OpenTextFile(file, ForWriting)  
objTextFile.WriteLine ("Hier der Text")  
objTextFile.Close
Hoffe du konntest etwas mit der Syntax oben anfagen.

Gruß
JT
Mitglied: xm-bit
xm-bit 30.04.2009 um 09:20:57 Uhr
Goto Top
Hi,

ja, ist noich ein wenig kompliziert, aber etwas verstehe ich schon... Werd mir das mal in Ruhe anschauen.

Bei dem in eine Datei schreiben, schreibst du in der 5ten Zeile ("Hier der Text").
Das verstehe ich icht so ganz.
Was passiert da genau???

mfg
Sascha
Mitglied: 20638
20638 30.04.2009 um 09:45:19 Uhr
Goto Top
Hier noch mal auskommentiert:


file = "C:\test.txt" '-> vestlegen der Datei
Set objFso = CreateObject("Scripting.FileSystemObject") ' ZUgriff auf das File.Object
Set objTextFile = objFso.createtextfile(file,vbTrue) ' Erstellen der Datei am entsprechenden Pfad
objTextFile.WriteLine ("Hier der Text") ' Ausgabe in die Datei
objTextFile.Close 'schließen der Datei

Den Befehl Msgbox("Hallo Welt") kennt man ja. Hier ist es nichts anderes. Der Text oder die Variable, welche ausgegeben werden soll, wird in Anführungszeichen geschrieben und dann ausgegeben.
Du kannst auch nur objTextFile.Write("") Benutzen. Dann schreibt er dir den nächsten Text direkt wieder an den vorherigen und generiert keine neue Zeile.
Beispiele:
objTextFile.WriteLine("Dateiname: " & file & " Hier kommt mal wieder Text")
das kannst du ja beliebig weiterführen.

Gruß
JT
Mitglied: xm-bit
xm-bit 30.04.2009 um 10:13:43 Uhr
Goto Top
Hi JT,

danke für die Erklärung, dann werd ich damit mal arbeiten, und mich damit befassen.

Es dauert zwar noch ein bisschen länger, aber nur so komme ich weiter.

mfg
Sascha