sn00ze
Goto Top

Dateisuche und Copy VBS

Hallo,

ich habe mal wieder ein kleines VBS newbie Problem ;).

Ich habe bereits ein Script geschrieben welches aus einer textdateien einen wert ausliest. Nun will ich weiter das danach auf Datei ebene gesucht wird. Also ich habe ein Ordnern mit vielen unterordnern und darin muss sich eine Datei befinden so so heißt wie der ausgelesene wert. Desweiteren will ich wenn die Datei gefunden wurde dies woanders hin kopieren.

Da ist sicher recht einfach aber irgendwie bekomme ich das nicht, ist mein erstes Script und so richtig durch gestiegen bin ich da noch nicht face-sad.

Wäre schön wenn ihr mir weiterhelfen könntet.

MFG
Andy

Content-Key: 77520

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

Ausgedruckt am: 29.03.2024 um 09:03 Uhr

Mitglied: bastla
bastla 08.01.2008 um 22:13:47 Uhr
Goto Top
Hallo sn00ze!

Haben die vielen Unterordner Deines Ordners auch wieder Unterordner?
Kann es die gesuchte Datei auch mehrmals geben, und wenn ja, was dann?
Genügt es Dir schon, wenn die gefundene Datei "woanders" hin kopiert wird, oder hast Du ein bestimmtes Ziel im Auge?

Grüße
bastla
Mitglied: sn00ze
sn00ze 09.01.2008 um 06:15:23 Uhr
Goto Top
Hallo bastla,

ja die Unterordner meines Ordners haben auch wieder Unterordner! Die gesuchte Datei kann es nicht mehrmals geben es könnte vllt. vorkommen das diese nicht existiert. Die Datei muss dann an ein bestimmtes Ziel kopiert werden.

Vielen Danke für deine Hilfe

MFG
sn00ze
Mitglied: bastla
bastla 09.01.2008 um 13:07:18 Uhr
Goto Top
Hallo sn00ze!

Analog zu diesem Script könnte das etwa so aussehen:
Const QuellOrdner = "D:\Ordner mit vielen Unterordnern\"  
Const ZielOrdner = "D:\Bestimmtes Ziel\"  

DateiName = "Aus Textdatei erfolgreich ausgelesener Wert"  

Set fso = CreateObject("Scripting.FileSystemObject")  
DateiPfad = ""  

FindFile fso.GetFolder(QuellOrdner)

If DateiPfad = "" Then  
	WScript.Echo DateiName & " nicht gefunden!"  
	WScript.Quit
End If

fso.CopyFile DateiPfad, ZielOrdner


Sub FindFile(ThisFolder)
    For Each File In ThisFolder.Files
		If StrComp(File.Name, DateiName, vbTextCompare) = 0 Then
			DateiPfad = File.Path
			Exit For
		End If
	Next
	For Each Folder In fso.GetFolder(ThisFolder).SubFolders
		If DateiPfad = "" Then FindFile Folder  
	Next
End Sub

Grüße
bastla
Mitglied: sn00ze
sn00ze 15.01.2008 um 07:57:57 Uhr
Goto Top
Danke schön, habe das nun noch ein wenig angepasst es läuft bisher ganz gut face-smile
MFG
Andy