Hiho,
ich brauche mal Hilfe Mein Problem ist folgendes:
Ich möchte alle Zips in einem Ordner entpacken (ohne Hilfsprogramm wie WinRar oder 7Zip) und dabei nur die Dateien mit Endung XML extrahieren.
Jetzt kommt es aber zu dem Problem bzw. der Fehlermeldung
"Fehler beim Kopieren der Datei oder des Ordners: Die Datei ist vorhanden."
Es kommt daher, dass er pro Datei ein Temp-Verzeichnis anlegt:
C:\Dokumente und Einstellungen\%username%\Lokale Einstellungen\Temp
und sobald es mehr als 99 Dateien sind kommt die Fehlermeldung.
Ich denke es gibt wohl Möglichkeiten zwischendurch den Müll wegzuräumen.
Hier sonst erstmal mein Code:
Für unsauberen Code entschuldige ich mich schon mal. Ich bin nur Leihe
ich brauche mal Hilfe Mein Problem ist folgendes:
Ich möchte alle Zips in einem Ordner entpacken (ohne Hilfsprogramm wie WinRar oder 7Zip) und dabei nur die Dateien mit Endung XML extrahieren.
Jetzt kommt es aber zu dem Problem bzw. der Fehlermeldung
"Fehler beim Kopieren der Datei oder des Ordners: Die Datei ist vorhanden."
Es kommt daher, dass er pro Datei ein Temp-Verzeichnis anlegt:
C:\Dokumente und Einstellungen\%username%\Lokale Einstellungen\Temp
und sobald es mehr als 99 Dateien sind kommt die Fehlermeldung.
Ich denke es gibt wohl Möglichkeiten zwischendurch den Müll wegzuräumen.
Hier sonst erstmal mein Code:
VB.NET-Quellcode
- ExtractTo="C:\TEMP\to\"
- ExtractFrom = "C:\TEMP\from\"
- 'If the extraction location does not exist create it.
- Set fso = CreateObject("Scripting.FileSystemObject")
- If NOT fso.FolderExists(ExtractTo) Then
- fso.CreateFolder(ExtractTo)
- End If
- 'Data selection
- Set objFolder = fso.GetFolder(ExtractFrom)
- Set colFiles = objFolder.Files
- 'Extraction
- For Each objFile in colFiles
- 'Extract the contants of the zip file.
- set objShell = CreateObject("Shell.Application")
- set FilesInZip=objShell.NameSpace(objFile.Path).items
- 'Extract data with ending XML
- For i = 0 To FilesInZip.Count - 1
- If lcase(right(FilesInZip.Item(i).Name, 4)) = ".xml" Then
- objShell.NameSpace(ExtractTo).CopyHere(FilesInZip.Item(i))
- End If
- Next
- Next
- 'cleanUp
- Set fso = Nothing
- Set objShell = Nothing
- Set FilesInZip = Nothing
Für unsauberen Code entschuldige ich mich schon mal. Ich bin nur Leihe
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ThePhil“ ()