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
GELÖST

Automatismus für PDF (Umbenennung mit Datum und Uhrzeit danach in Ordner verschieben) mit einem VBS

Frage Entwicklung VB for Applications

Mitglied: schinken87

schinken87 (Level 1) - Jetzt verbinden

17.03.2014 um 13:38 Uhr, 1443 Aufrufe, 8 Kommentare

Hallo liebe Gemeinde,

ich habe folgendes Problem:

ich bekomme aus einem Kassen-Auswertungssystem eine PDF generiert und in "Ordner X" abgelegt. Ich will diese PDF mit einem Datum und Uhrzeit versehen (umbenennen) und in einen anderen Ordner verschieben lassen. Dieser Prozess sollte im Hintergrund laufen. Hier mein Ansatz:

01.
datum=date() 
02.
 
03.
'strOldFile = Environ$("WINDIR") & "\setuplog.txt" 
04.
'strNewFile = Environ$("WINDIR") & "\newsetuplog.txt" 
05.
 
06.
strOldFile = "D:\PDF_in\1.pdf" 
07.
strNewFile = "D:\PDF_in\1_" & datum & ".pdf" 
08.
 
09.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
10.
objFSO.MoveFile strOldFile, strNewFile 
11.
Set objFSO = Nothing 
12.
 
13.
FOLDER_PDF = "D:\PDF_in"  
14.
 
15.
FOLDER_MOVE = "D:\PDF_out"  
16.
  
17.
 
18.
Set fso = WScript.CreateObject("Scripting.Filesystemobject")  
19.
 
20.
strPDFs = ""  
21.
 
22.
For Each file In fso.GetFolder(FOLDER_PDF).Files  
23.
 
24.
	If LCase(fso.GetExtensionName(file.Path)) = "pdf" Then  
25.
 
26.
		If strPDFs <> "" Then  
27.
 
28.
			strPDFs = strPDFs & ",""" & file.Path & """"   
29.
 
30.
		Else  
31.
 
32.
			strPDFs = """" & file.Path & """"   
33.
 
34.
		End If  
35.
 
36.
	End If  
37.
 
38.
Next  
39.
 
40.
If strPDFs <> "" Then  
41.
 
42.
	 
43.
	For Each pdf In Split(strPDFs,",",-1,1)  
44.
 
45.
		pdf = Replace(pdf,"""","",1,-1,1)  
46.
 
47.
		fso.MoveFile pdf , FOLDER_MOVE & "\"  
48.
 
49.
	Next  
50.
 
51.
 
52.
End If 
---

Nachteil bei meiner Version:

wenn keine Datei im Ordner Script startet nicht ( soll ja dauerhaft laufen)
dateien müssen 1 heißen ( soll alle PDF´s mit datum und Uhrzeit versehen)


Danke schonmal im vorraus.

LG

Andy
Mitglied: colinardo
17.03.2014, aktualisiert um 16:05 Uhr
Hallo Andy, Willkommen im Forum!
Dazu gabe es hier schon mehrfach Lösungen, hier eine passende bei der du nur noch das umbenennen durch ein Move ersetzen musst:
wie hier in diesem Beispiel (einmal gestartet läuft das Script im Hintergrund, und bei neu eintreffenden Dateien im Ordner werden diese mit Datum versehen in dem neuen Ordner abgelegt.)
01.
'Pfad der zu überwachen ist 
02.
Const strPath = "C:\pdf_in" 
03.
'Pfad in dem die umbenannten Dateien landen 
04.
Const strPathOut = "C:\pdf_out" 
05.
'Überwachungs-Interval in Sekunden 
06.
Const intInterval = "2" 
07.
'------------------------------ 
08.
strDrive = Split(strPath,"\")(0) 
09.
strFolder = Replace(Split(strPath,":")(1),"\","\\") & "\\" 
10.
 
11.
Set fso = WScript.CreateObject("Scripting.Filesystemobject") 
12.
Set objShell = CreateObject("Wscript.Shell") 
13.
Set objWMIService = GetObject( "winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2" ) 
14.
 
15.
strQuery = "Select * From __InstanceOperationEvent" _ 
16.
    & " Within " & intInterval _ 
17.
    & " Where Targetinstance Isa 'CIM_DataFile'" _ 
18.
    & " And TargetInstance.Drive='" & strDrive & "'"_ 
19.
    & " And TargetInstance.Path='" & strFolder & "'" 
20.
 
21.
Set colEvents = objWMIService.ExecNotificationQuery (strQuery)  
22.
 
23.
Do  
24.
    Set objEvent = colEvents.NextEvent() 
25.
    Set objTargetInst = objEvent.TargetInstance 
26.
     
27.
    Select Case objEvent.Path_.Class  
28.
        Case "__InstanceCreationEvent"  
29.
            filename = objTargetInst.Name  
30.
            If fso.GetExtensionName(filename) = "pdf" Then 
31.
               t = Timer() 
32.
               milliseconds = Int((t-Int(t))*1000) 
33.
               datum = Replace(Replace(Now(),":",".")," ","_") & "." & milliseconds 
34.
               newFileName = fso.GetBaseName(filename) & "_" & datum & ".pdf" 
35.
	       fso.MoveFile filename, strPathOut & "\" & newFileName 
36.
	    End If  
37.
    End Select  
38.
Loop
Grüße Uwe
Bitte warten ..
Mitglied: schinken87
17.03.2014 um 14:56 Uhr
Hallo Uwe,

bei mir bleiben die pdfs im Ordner und nichts geschieht.

script läuft im hintergrund.

was mache ich falsch.
Bitte warten ..
Mitglied: colinardo
17.03.2014, aktualisiert um 15:03 Uhr
erst Script starten und dann die PDFs in den Ordner reinwerfen !
Bitte warten ..
Mitglied: schinken87
17.03.2014 um 15:12 Uhr
habe ich gemacht pdf immernoch im ordner.
Bitte warten ..
Mitglied: colinardo
17.03.2014, aktualisiert um 15:18 Uhr
Zitat von schinken87:

habe ich gemacht pdf immernoch im ordner.
naja das habe ich hier schon x mal mit Leuten durchgemacht, dann hast du noch einen Fehler in deinem Script, hast du mein obiges genommen, das geht einwandfrei ? Pfade sind hoffentlich ohne Backslash am Ende.
Hinweis: Mit Netzlaufwerken geht dies nicht ! nur mit lokalen Laufwerken.
Bei Änderungen am Script muss dieses natürlich auch erst im Taskmanager abgeschossen werden...
Bitte warten ..
Mitglied: schinken87
17.03.2014 um 15:47 Uhr
so sorry war mein fehler geht natürlich supi. mein ordner war in großbuchstaben und im script in kleinen ;)

wie bekomm ich an das datum noch die uhrzeit mit angehängt weil der dateiname immer "1.pdf" ist und ich vermeiden will das der script stoppt weil dateien schon vorhanden sind
Bitte warten ..
Mitglied: colinardo
17.03.2014, aktualisiert um 16:09 Uhr
Zitat von schinken87:
wie bekomm ich an das datum noch die uhrzeit mit angehängt weil der dateiname immer "1.pdf" ist und ich vermeiden
will das der script stoppt weil dateien schon vorhanden sind
kann es sein das mehrere deiner 1er Dateien in kurzem Zeitraum im Ordner landen, dann wäre eventuell auch der Sekundenabstand nicht ausreichend, so das man einen Random-String oder die Millisekunden hinten dran hängt, oder ist immer genug Zeitabstand dazwischen ?
Ist oben mit Uhrzeit angepasst.... die Zeit wird dann so angehängt: 17.03.2014_16.08.26.441 (mit ms am Ende)
Bitte warten ..
Mitglied: schinken87
17.03.2014 um 16:19 Uhr
super danke pass soweit alles.
Bitte warten ..
Ähnliche Inhalte
Sonstige Systeme
PDF-OCR Erkennung und verschieben in Ordner wenn Schlagwort enthalten (7)

Frage von SysAdm81 zum Thema Sonstige Systeme ...

Batch & Shell
Dateien nach Datum verschieben (4)

Frage von LKDNDK12 zum Thema Batch & Shell ...

Batch & Shell
gelöst Windows 10 Batch für Datum und Uhrzeit setzen (18)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (13)

Frage von takvorian zum Thema Windows Server ...