mschaedler1982
Goto Top

VB Script ändert Dateinamen

Hallo zusammen.

Kurze Erläuterung zu diesem Thema. Eine Maschine legt jeden Tag zu einer bestimmten Uhrzeit sehr sehr viele *.csv Dateien ab.

Beispiel:

ARCHIV_Ist_Temp_Decklacktr_Z1.csv
ARCHIV_Ist_Temp_Decklacktr_Z2.csv
ARCHIV_Ist_Temp_Vulkan_Z2.csv
ARCHIV_Ist_Temp_Vulkan_Z3.csv
Meldungen.csv
Unterbrechungen.csv

Ein scheduled Task läuft einmal am Tag und startet untenstehendes VB Script. Das Script funktioniert soweit auch!
Uns sind 2 Sachen aufgefallen.

1. Im Ziel Ordner sind die Dateien 11.02.2015Unterbrechung ; 11.02.2015Meldungen vorhanden. In der Vergangenheit war zwischen Datum + Name ein Leerzeichen bei diesen Dateien, was nun nicht mehr ist.

2. Die Dateinamen sind kürzer

Beispiel der anderen Dateien: (Ziel)

11.02.2015 Ist Temp Decklacktr Z1.csv
11.02.2015 Ist Temp Decklacktr Z2.csv
11.02.2015 Ist Temp Vulkan Z2.csv
11.02.2015 Ist Temp Vulkan Z3.csv

Die Dateien sollten aber so lauten:

06.02.2014 Ist Temperatur Decklacktrockner Zone 1.csv
06.02.2014 Ist Temperatur Decklacktrockner Zone 2.csv
06.02.2014 Ist Temperatur Siebdrucktrockner 1 Zone 1.csv
06.02.2014 Ist Temperatur Vulkanisierofen Zone 1.csv

06.02.2014 Soll Temperatur Decklacktrockner Zone 1.csv
06.02.2014 Soll Temperatur Siebdrucktrockner 1 Zone 1.csv
06.02.2014 Soll Temperatur Vulkanisierofen Zone 1.csv

Hat mir jemand zu diesem Problem eine Lösung?

Hinweis. Das Script hat bis Februar 2014 funktioniert und nun geht es nicht mehr.

Danke im Voraus!!


 
'Vbscript zum Kopieren aller CSV Files in den Zielordner Archivieren mit angehängten Datum  


Set IFilesystem=CreateObject("Scripting.FileSystemObject")  
Set IWshShell3 = CreateObject("WScript.Shell")  
On error resume next
today = Date
' die rechten 2 Stellen benutzen, da im z.b. im Januar nur eine 1 ausgegeben wird, wir aber eine 2 stellige Angabe wollen  
Datum = right("0" & Day(today), 2)  & "." & right("0" & Month(today), 2) & "." & Year(today)   

'msgbox Datum  
SUBJECT1 = "Archivierung Beschichtungsanlage 4 erfolgreich!"  

SUBJECT = "Archivierung Beschichtungsanlage 4 Fehler!"  

source="\\path.com\nu\Produktion-Metall\MLS-ZKD\Beschichtungslinien\Beschichtungsanlage 4\Master_Archiv_MP377\"  
target="\\path.com\nu\Produktion-Metall\MLS-ZKD\Beschichtungslinien\Beschichtungsanlage 4\Master_Archiv_MP377\Archiv\"  

Set Folderobj=IFilesystem.getFolder(source)
for each file in Folderobj.files
        if right(lcase(file.name),4)=".csv" then  
		'msgbox File.name  
		help = replace(file.name,"_"," ")  
		'msgbox help  
		if left(lcase(help),6)="archiv" then  
			help = replace(help,"ARCHIV","")			  

			'msgbox help  

		end if
		
		IFilesystem.CopyFile File, target & Datum & help, true
                
        end if
next

' Statusbericht per E-Mail verschicken   

if err.number > 0 then

	IWshShell3.Run "C:\batch\Files_archivieren_beschichtungsanlage4\blat.exe " & "C:\batch\Files_archivieren_beschichtungsanlage4\mail.txt" _  
     & " -f mail@path.com " & " -subject """ & SUBJECT & """" _  
     & " -to mail@path.com,person1@path.com,person2@path.com " _  
     & " -server server1.path.com"  
else
	IWshShell3.Run "C:\batch\Files_archivieren_beschichtungsanlage4\blat.exe " & "C:\batch\Files_archivieren_beschichtungsanlage4\mail1.txt" _  
     & " -f mail@path.com " & " -subject """ & SUBJECT1 & """" _  
     & " -to mail@path.com,person1@path.com,person2@path.com " _  
     & " -server server.path.com"  

end if

Content-ID: 263176

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

Ausgedruckt am: 25.11.2024 um 23:11 Uhr

manuel-r
Lösung manuel-r 12.02.2015, aktualisiert am 16.03.2015 um 13:06:28 Uhr
Goto Top
Das Script hat bis Februar 2014 funktioniert und nun geht es nicht mehr.
Ich würde mal glatt behaupten, dass dieses Script immer noch funktioniert.

Leider macht das Script nichts von dem was du beschrieben hast. Es holt lediglich in dem Pfad <source> Dateien ab, passt deren Namen geringfügig an und kopiert die Dateien dann nach <target>. Im Fehlerfall verschickt es auch noch ein paar Mails.
Ich würde an deiner Stelle mal da weiter suchen wo die Dateien ursprünglich eruegt werden...

Manuel
eisbein
Lösung eisbein 12.02.2015, aktualisiert am 16.03.2015 um 13:06:41 Uhr
Goto Top
Hallo!

Klingt so als hätte das Update vom 11.2.2014 etwas damit zu tun.

http://support.microsoft.com/kb/2909210/de

Mach dich diesbezüglich schlau.

Grüße
Eisbein
114757
Lösung 114757 12.02.2015, aktualisiert am 16.03.2015 um 13:06:43 Uhr
Goto Top
Moin,
wie @manuel-r schreibt, das Script hat mit den Namen eigentlich garnichts am hut. Ich würde das Problem eher an der Maschine oder was auch immer die Files erzeugt suchen. Eventuell ist für das Gerät/Maschine/.. der gesamte Pfad zu lang und kürzt es selbsttätig ?!

Gruß jodel32
mschaedler1982
mschaedler1982 12.02.2015 um 14:14:03 Uhr
Goto Top
Erstmal Danke für die vielen Antworten. Wir werden die Maschine prüfen lassen.
mschaedler1982
mschaedler1982 16.03.2015 um 13:06:08 Uhr
Goto Top
Ich schließe das Thema.

Hier sind in einem Jahr so viele Änderungen gemacht worden, das man es nicht mehr genau nachvollziehen kann woran es liegt.

Wir haben uns letztenendes dazu entschieden die Pfade im Makro anzupassen. (leichtester Lösungsansatz)

Danke an alle für die vielen Hinweise!