Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VB-Script zur Wiedergabe von Dateiinformationen

Frage Entwicklung VB for Applications

Mitglied: sven1986

sven1986 (Level 1) - Jetzt verbinden

08.03.2007, aktualisiert 09.03.2007, 5275 Aufrufe, 11 Kommentare

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
Mitglied: Biber
08.03.2007 um 20:43 Uhr
Moin sven1986,

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.
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, Erstellungsdatum

Gruss Biber
Bitte warten ..
Mitglied: bastla
08.03.2007 um 21:21 Uhr
Hallo sven1986!

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
Bitte warten ..
Mitglied: sven1986
08.03.2007 um 21:37 Uhr
moin,

Die Vorgabe ist von meinem Ausbilder :-P Mache eine Ausbildung zum Fachinformatiker für Systemintegration.

Also die Server sind online, Rechte usw sind auch gesetzt, das ist alles nicht das Problem.

Es wird immer das selber Verzeichniss benutzt, es ändert sich vorne nur die Serveradresse.
Die kb sind nur obligatorisch und nur als Beispiel angedacht

Von mir aus kann man das auch mit einer Zählerschleife machen, muss nur irgendwie klappen =)

Habe das nur absolut nicht hinbekommen mit vbscript.

Danke schonma für die Meldungen
Bitte warten ..
Mitglied: Biber
08.03.2007 um 21:38 Uhr
@bastla

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.
Hast Du denn schon einen Versuch/einen Ansatz, @sven1986? Magst Du ihn posten?
[/Edit]
Bitte warten ..
Mitglied: bastla
08.03.2007 um 21:56 Uhr
@sven1986
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]
Bitte warten ..
Mitglied: sven1986
09.03.2007 um 07:26 Uhr
Wie gesagt kenne mich mit vbscript noch wirklich garnich aus.
Das einzige was ich bissher habe ist folgendes:

Dim fso, fsoFile, Pfad, file, Text
Set fso = CreateObject("Scripting.FileSystemObject")
Set Response = CreateObject("WScript.Shell")

Response.Write(DateiInfo("\\In101008\c$\abfrage.bat"))
'Schaun ob Datei überhaupt vorhanden ist
Pfad = fso.exec("\\TS001\c$\abfrage.bat")
If fso.FileExists(Pfad) Then
Function DateiInfo(ByVal DateiName)
Set file = fso.GetFile(DateiName)
Text1 = "Pfad: " & file.Path
Text2 = Text & file.Name & " in " & file.ParentFolder
Text3 = Text & "Erstellt: " & file.DateCreated
Text4 = Text & "Dateigrösse " & file.size & " Bytes"
DateiInfo = Text
End Function
wscript.echo test1 & Text2 & text3 & text4
Else
wscript.echo("Datei ist nicht vorhanden.")
End if
Bitte warten ..
Mitglied: sven1986
09.03.2007 um 07:26 Uhr
Wie gesagt kenne mich mit vbscript noch wirklich garnich aus.
Das einzige was ich bissher habe ist folgendes:

Dim fso, fsoFile, Pfad, file, Text
Set fso = CreateObject("Scripting.FileSystemObject")
Set Response = CreateObject("WScript.Shell")

Response.Write(DateiInfo("\\In101008\c$\abfrage.bat"))
'Schaun ob Datei überhaupt vorhanden ist
Pfad = fso.exec("\\TS001\c$\abfrage.bat")
If fso.FileExists(Pfad) Then
Function DateiInfo(ByVal DateiName)
Set file = fso.GetFile(DateiName)
Text1 = "Pfad: " & file.Path
Text2 = Text & file.Name & " in " & file.ParentFolder
Text3 = Text & "Erstellt: " & file.DateCreated
Text4 = Text & "Dateigrösse " & file.size & " Bytes"
DateiInfo = Text
End Function
wscript.echo test1 & Text2 & text3 & text4
Else
wscript.echo("Datei ist nicht vorhanden.")
End if
Bitte warten ..
Mitglied: sven1986
09.03.2007 um 07:26 Uhr
sry für Doublepost dachte er hatte es nicht übernommen.

Für Hilfe wäre ich echt dankbar.
Bitte warten ..
Mitglied: bastla
09.03.2007 um 08:30 Uhr
Hallo sven1986!

Auf Basis Deines Entwurfes könntest Du es etwa so machen:
01.
Const Dateipfad = "c$\abfrage.bat" 
02.
Const Server = "TS00" 
03.
 
04.
Dim fso, i, Pfad 
05.
Set fso = CreateObject("Scripting.FileSystemObject") 
06.
 
07.
'Mit Schleife 
08.
For i = 1 To 50 
09.
	'Vollständiger Pfad: 
10.
	Pfad = "\\" & Server & CStr(i) & "\" & Dateipfad 
11.
	 
12.
	'Schaun ob Datei überhaupt vorhanden ist 
13.
	If fso.FileExists(Pfad) Then 
14.
		WScript.Echo DateiInfo(Pfad) 
15.
	Else 
16.
		WScript.Echo "Pfad: " & Pfad & " - Datei ist nicht vorhanden." 
17.
	End If 
18.
Next 
19.
WScript.Quit(0) 
20.
 
21.
Function DateiInfo(ByVal Datei) 
22.
Dim File, Text 
23.
Set File = fso.GetFile(Datei) 
24.
Text = "Pfad: " & File.Path  
25.
Text = Text & " - " & File.Name & " in " & File.ParentFolder 
26.
Text = Text & " - Erstellt: " & File.DateCreated 
27.
Text = Text & " - Dateigrösse: " & File.Size & " Bytes" 
28.
DateiInfo = Text 
29.
End Function
Falls die Servernamen alle gleich lang sein sollen (also nicht "TS0010", sondern "TS010"), könntest Du so vorgehen:
01.
	If i < 10 Then 
02.
		Pfad = "\\" & Server & CStr(i) & "\" & Dateipfad 
03.
	Else 
04.
		Pfad = "\\" & Left(Server, 3) & CStr(i) & "\" & Dateipfad 
05.
	End If
oder, besser, den Server nur mit "TS" vorgeben und dann:
01.
Pfad = "\\" & Server & Right("00" & CStr(i), 3) & "\" & Dateipfad
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
Bitte warten ..
Mitglied: sven1986
09.03.2007 um 08:55 Uhr
Moin,

schonmal vielen Dank, dat klappt super. Jetzt muss ich nurnoch schaun wie ich das Ergebniss in eine Textdatei bekomme

Gruß
Bitte warten ..
Mitglied: bastla
09.03.2007 um 09:14 Uhr
Hallo sven1986!

Einfach über die Konsole:
01.
cscript //nologo D:\FileCheck.vbs > D:\Ergebnis.txt
Annahme hier ist, dass das Script als "D:\FileCheck.vbs" gespeichert wurde.

Versuch es aber trotzdem auch noch direkt aus dem Script heraus (Stichwort "OpenTextFile").

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Outlook & Mail
gelöst Email Anhänge speichern VB Script aber nur bestimmte Dateitypen (Outlook) (4)

Frage von LindeUnimog zum Thema Outlook & Mail ...

VB for Applications
gelöst VB Script rekursiv statt nur ein Ordner (4)

Frage von Saschaaaaa zum Thema VB for Applications ...

VB for Applications
gelöst VB Script nach gefundenem Wort die nächsten 4 Zeichen ersetzten (2)

Frage von deutsch73 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...