VB-Script zur Wiedergabe von Dateiinformationen
Hallo,
ich habe ein kleines Problemchen
Erstmal zur Ausgangssituation:
Ich habe eine Textdatei wo einfach nur T001 bis T0050 drinsteht.
Mit Hilfe diese Informationen soll er jeweils auf einem Server nach einer bestimmten Datei suchen:
z. B. dir \\T001\Programme\Beispiel.exe --> es ändert sich nur die Serverbezeichnung. Der Rest bleibt gleich.
Jetzt soll jeweils geschaut werden ob die Beispiel.exe vorhanden ist, wenn ja soll nur ausgegeben werden, wir groß diese ist und wann sie erstellt wurde. Ist diese nicht vorhanden ein kurzes Kommentar.
Dieses Ergebniss soll dann in eine seperate Textdatei geschrieben werden.
Ungefähre Form:
T001 - Datei vorhanden - 500kb groß - Am ..... erstellt
T002 - Datei nicht vorhanden -
T003 - Datei vorhanden - 488 kb groß - Am ..... erstellt
.
.
.
Diese soll in VBscript umgesetzt werden da ich da jedoch keinerlei Erfahrung mit habe würde ich gerne wissen ob mir jemand dabei Helfen kann
Über Hilfe wäre ich sehr dankbar
Mit freundlichen Grüßen,
Sven
ich habe ein kleines Problemchen
Erstmal zur Ausgangssituation:
Ich habe eine Textdatei wo einfach nur T001 bis T0050 drinsteht.
Mit Hilfe diese Informationen soll er jeweils auf einem Server nach einer bestimmten Datei suchen:
z. B. dir \\T001\Programme\Beispiel.exe --> es ändert sich nur die Serverbezeichnung. Der Rest bleibt gleich.
Jetzt soll jeweils geschaut werden ob die Beispiel.exe vorhanden ist, wenn ja soll nur ausgegeben werden, wir groß diese ist und wann sie erstellt wurde. Ist diese nicht vorhanden ein kurzes Kommentar.
Dieses Ergebniss soll dann in eine seperate Textdatei geschrieben werden.
Ungefähre Form:
T001 - Datei vorhanden - 500kb groß - Am ..... erstellt
T002 - Datei nicht vorhanden -
T003 - Datei vorhanden - 488 kb groß - Am ..... erstellt
.
.
.
Diese soll in VBscript umgesetzt werden da ich da jedoch keinerlei Erfahrung mit habe würde ich gerne wissen ob mir jemand dabei Helfen kann
Über Hilfe wäre ich sehr dankbar
Mit freundlichen Grüßen,
Sven
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 53596
Url: https://administrator.de/contentid/53596
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
11 Kommentare
Neuester Kommentar
Moin sven1986,
willkommen im Forum.
Da verstehe ich aber gleich ziemlich vieles nicht...
Außer Datei vorhanden oder nicht vorhanden gibt es noch:
- Rechner nicht gefunden (falsch in der Liste oder auch einfach: nicht online)
- Verzeichnis nicht gefunden
- Zugriff verweigert
Dazu brauchst Du nur eine Zählschleife, keine Datei.
Wozu? zu Übungszwecken? Oder willst Du die maschinell/per Skript weiterverarbeiten?
Wenn ja - wieso diese redundanten Lyrikformulierungen?
Gruss Biber
willkommen im Forum.
Da verstehe ich aber gleich ziemlich vieles nicht...
Diese soll in VBscript umgesetzt werden da ich da jedoch keinerlei Erfahrung mit hab...
Wieso dann diese Vorgabe? Wieso kein Oneliner vom CMD-Prompt?jeweils auf einem Server nach einer bestimmten Datei suchen...
Suchen oder in genau einem bestimmten Verzeichnis ("Programme") nachprüfen?T001 - Datei vorhanden - 500kb groß - Am ..... erstellt
T002 - Datei nicht vorhanden -
Da fehlen aber ein paar Fälle.T002 - Datei nicht vorhanden -
Außer Datei vorhanden oder nicht vorhanden gibt es noch:
- Rechner nicht gefunden (falsch in der Liste oder auch einfach: nicht online)
- Verzeichnis nicht gefunden
- Zugriff verweigert
Ich habe eine Textdatei wo einfach nur T001 bis T0050 drinsteht.
Wozu? [ich unterstelle, Du meintest T001 ...T050, also fortlaufende Nummern.Dazu brauchst Du nur eine Zählschleife, keine Datei.
... in eine seperate Textdatei ...
Wozu? zu Übungszwecken? Oder willst Du die maschinell/per Skript weiterverarbeiten?
Wenn ja - wieso diese redundanten Lyrikformulierungen?
Datei vorhanden - 500kb groß - Am ..... erstellt
--->Infogehalt: Dateigröße, ErstellungsdatumGruss Biber
Hallo sven1986!
Und noch eine Detailfrage von mir - Erstellungsdatum oder Datum der letzten Änderung?
@Biber
Wer (natürlich außer Dir) hat schon "DelayedExpansion" defaultmäßig eingeschaltet?
Grüße
bastla
Und noch eine Detailfrage von mir - Erstellungsdatum oder Datum der letzten Änderung?
@Biber
T001 bis T0050
Halte ich für denkbar (ist ja über Schleife auch einfacher so).Wieso kein Oneliner vom CMD-Prompt?
Wegen der Formatierung der Ausgabe (kb)? Wer (natürlich außer Dir) hat schon "DelayedExpansion" defaultmäßig eingeschaltet?
zu Übungszwecken?
Ich nehme an, ja.Grüße
bastla
@bastla
Grüße
Biber
[Edit]
Hast Du denn schon einen Versuch/einen Ansatz, @sven1986? Magst Du ihn posten?
[/Edit]
Erstellungsdatum oder Datum der letzten Änderung?
Hmmmm .... müssen wir diese Frage bei einer Beispiel.exe-Datei ausführlich diskutieren? Wer (natürlich außer Dir) hat schon "DelayedExpansion" defaultmäßig eingeschaltet?
Jede/r, dachte ich immer.... *kopfkratz*Grüße
Biber
[Edit]
Die Vorgabe ist von meinem Ausbilder :-P
Mache eine Ausbildung zum Fachinformatiker für Systemintegration.
Hmmmm II... das sollten wir aber nicht ganz unterlaufen durch Posten einer Fertiglösung.Mache eine Ausbildung zum Fachinformatiker für Systemintegration.
Hast Du denn schon einen Versuch/einen Ansatz, @sven1986? Magst Du ihn posten?
[/Edit]
@sven1986
@Biber
Grüße
bastla
[Edit] @Biber - hatte Dein Edit übersehen [/Edit]
Habe das nur absolut nicht hinbekommen mit vbscript.
Dann schlage ich vor, Du postest einmal, was Du bisher hast ...@Biber
Hmmmm .... müssen wir diese Frage bei einer Beispiel.exe-Datei ausführlich diskutieren?
Also Du gönnst einem ja wirklich gar keinen Spaß ...Grüße
bastla
[Edit] @Biber - hatte Dein Edit übersehen [/Edit]
Hallo sven1986!
Auf Basis Deines Entwurfes könntest Du es etwa so machen:
Falls die Servernamen alle gleich lang sein sollen (also nicht "TS0010", sondern "TS010"), könntest Du so vorgehen:
oder, besser, den Server nur mit "TS" vorgeben und dann:
Damit wird die Nummer immer 3-stellig.
Zu überlegen wäre noch, ein "On Error Resume Next" an den Anfang zu stellen.
Grüße
bastla
Auf Basis Deines Entwurfes könntest Du es etwa so machen:
Const Dateipfad = "c$\abfrage.bat"
Const Server = "TS00"
Dim fso, i, Pfad
Set fso = CreateObject("Scripting.FileSystemObject")
'Mit Schleife
For i = 1 To 50
'Vollständiger Pfad:
Pfad = "\\" & Server & CStr(i) & "\" & Dateipfad
'Schaun ob Datei überhaupt vorhanden ist
If fso.FileExists(Pfad) Then
WScript.Echo DateiInfo(Pfad)
Else
WScript.Echo "Pfad: " & Pfad & " - Datei ist nicht vorhanden."
End If
Next
WScript.Quit(0)
Function DateiInfo(ByVal Datei)
Dim File, Text
Set File = fso.GetFile(Datei)
Text = "Pfad: " & File.Path
Text = Text & " - " & File.Name & " in " & File.ParentFolder
Text = Text & " - Erstellt: " & File.DateCreated
Text = Text & " - Dateigrösse: " & File.Size & " Bytes"
DateiInfo = Text
End Function
If i < 10 Then
Pfad = "\\" & Server & CStr(i) & "\" & Dateipfad
Else
Pfad = "\\" & Left(Server, 3) & CStr(i) & "\" & Dateipfad
End If
Pfad = "\\" & Server & Right("00" & CStr(i), 3) & "\" & Dateipfad
Zu überlegen wäre noch, ein "On Error Resume Next" an den Anfang zu stellen.
Grüße
bastla