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-Key: 271453

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

Printed on: April 25, 2024 at 00:04 o'clock

Mitglied: 114757
114757 May 08, 2015 at 07:44:28 (UTC)
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
Member: Kyrinja
Kyrinja May 08, 2015 at 08:21:28 (UTC)
Goto Top
Vielen Dank! Funktioniert super. Ist es möglich dann auch nur diese Dateien in einen anderen Ordner zu kopieren ?
Mitglied: 114757
114757 May 08, 2015 updated at 08:34:11 (UTC)
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
Member: Kyrinja
Kyrinja May 08, 2015 at 10:43:20 (UTC)
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
Mitglied: 114757
114757 May 08, 2015 updated at 10:52:20 (UTC)
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