kyrinja
Goto Top

Auslesen von Dateien eines Ordners

Hallo liebe Gemeinde,

ich würde gerne den Ordner Documents auslesen um zu sehen ob sich darin PDF dateien befinden.
leider habe ich es mit meinem Script nur geschafft alle Dateien anzuzeigen. Könnte mir da bitte jemand behilflich sein wie ich nur *.pdf Dateien aufliste?


Hier mein bisheriger Code

 
et WshShell = WScript.CreateObject("WScript.Shell")  
UserName = WshShell.ExpandEnvironmentStrings("%UserName%")  
V =  "C:\users\" & Username & "\Documents\"  
Set FSO = CreateObject("Scripting.FileSystemObject")  
Set Verzeichnis = FSO.GetFolder(V)
For Each Datei In Verzeichnis.Files 
DateiListe = Datei.Path & vbCr & DateiListe
Next
WScript.Echo(DateiListe)


Grüße und Danke schonmal für die Hilfe ;)

Content-ID: 271453

Url: https://administrator.de/forum/auslesen-von-dateien-eines-ordners-271453.html

Ausgedruckt am: 23.12.2024 um 10:12 Uhr

114757
114757 08.05.2015 um 09:44:28 Uhr
Goto Top
Set FSO = CreateObject("Scripting.FileSystemObject")  
set WshShell = CreateObject("WScript.Shell")  
UserProfile = WshShell.ExpandEnvironmentStrings("%UserProfile%")  
V =  Userprofile & "\Documents"  

For Each Datei In FSO.GetFolder(V).Files
    If LCase(FSO.GetExtensionName(Datei.Path)) = "pdf" then  
        DateiListe = DateiListe & Datei.Path & vbNewline
    End if
Next
WScript.Echo(DateiListe)
Gruß jodel32
Kyrinja
Kyrinja 08.05.2015 um 10:21:28 Uhr
Goto Top
Vielen Dank! Funktioniert super. Ist es möglich dann auch nur diese Dateien in einen anderen Ordner zu kopieren ?
114757
114757 08.05.2015 aktualisiert um 10:34:11 Uhr
Goto Top
Set FSO = CreateObject("Scripting.FileSystemObject")  
set WshShell = CreateObject("WScript.Shell")  
UserProfile = WshShell.ExpandEnvironmentStrings("%UserProfile%")  
V =  Userprofile & "\Documents"  

For Each Datei In FSO.GetFolder(V).Files
    If LCase(FSO.GetExtensionName(Datei.Path)) = "pdf" then  
        DateiListe = DateiListe & Datei.Path & vbNewline
        Datei.Copy "C:\Zielordner\"  
    End if
Next
WScript.Echo(DateiListe)
Auf den abschließenden Backslash beim Zielordner achten.
https://technet.microsoft.com/en-us/library/ee176983.aspx
Kyrinja
Kyrinja 08.05.2015 um 12:43:20 Uhr
Goto Top
Ich Danke dir !

Leider habe ich da noch ein problem

Set FSO = CreateObject("Scripting.FileSystemObject")  
set WshShell = CreateObject("WScript.Shell")  
Set oShell = WScript.CreateObject("WScript.Shell")  

UserProfile = WshShell.ExpandEnvironmentStrings("%UserProfile%")  
V =  Userprofile & "\Documents"  
V2 =  Userprofile & "\Documents\"  


	For Each Datei In FSO.GetFolder(V).Files
		If LCase(FSO.GetExtensionName(Datei.Path)) = "pdf" then  
			DateiListe = DateiListe & Datei.Path & vbNewline
			Datei.Copy "C:\Mail\"  
		End if
	Next
	WScript.Echo(DateiListe)
	
		oShell.Run "C:\Mail\Mail.bat",0,True  
		FSO.deleteFile "C:\Mail\*.pdf"  
		Pfad = V2 & "*" & ".pdf"  
		FSO.DeleteFile(Pfad)

WScript.Echo("Script Ende")  

so weit bin ich nun. Jedoch würde ich gerne wenn keine Dateien im Ordner sind das restliche Script mit einer meldung abbrechen.
Leider scheitere ich auch hier :/

Grüße
114757
114757 08.05.2015 aktualisiert um 12:52:20 Uhr
Goto Top
Set FSO = CreateObject("Scripting.FileSystemObject")  
set WshShell = CreateObject("WScript.Shell")  
Set oShell = WScript.CreateObject("WScript.Shell")  

UserProfile = WshShell.ExpandEnvironmentStrings("%UserProfile%")  
V =  Userprofile & "\Documents"  
Dateiliste = ""  
	For Each Datei In FSO.GetFolder(V).Files
		If LCase(FSO.GetExtensionName(Datei.Path)) = "pdf" then  
			DateiListe = DateiListe & Datei.Path & vbNewline
			Datei.Copy "C:\Mail\"  
		End if
	Next
	WScript.Echo(DateiListe)
	if Dateiliste <> "" then  
		oShell.Run "C:\Mail\Mail.bat",0,True  
		FSO.deleteFile "C:\Mail\*.pdf"  
		FSO.DeleteFile(V & "\*.pdf")  
        else
            msgbox "Keine PDF-Dateien gefunden",vbExclamation  
	end if
WScript.Echo("Script Ende")  
Wird das hier jetzt zum Grundkurs VBS ??
http://www.w3schools.com/vbscript/vbscript_examples.asp