Ordner anhand einer Excel-Liste kopieren
Hallo,
gibt es eine Möglichkeit, Ordner anhand einer Excel-Liste von einem Pfad in den anderen zu kopieren?
Excel-Liste:
Spalte A
1234
5678
9012
...
...
In folgendem Pfad sind Ordner mit u.a. den oben genannten Nummern (jedoch noch mehr Ordner, also nicht nur die aus der Excel-Liste):
F:\Bilder
Kopiert werden sollen die entsprechenden Ordner inkl. Inhalt in den Pfad:
H:\Bilder_Kopie
Danke
Edit: Achja, eine einfache Batch-Datei wäre gut. Powershell kann hier am Rechner leider nicht ausgeführt werden.
gibt es eine Möglichkeit, Ordner anhand einer Excel-Liste von einem Pfad in den anderen zu kopieren?
Excel-Liste:
Spalte A
1234
5678
9012
...
...
In folgendem Pfad sind Ordner mit u.a. den oben genannten Nummern (jedoch noch mehr Ordner, also nicht nur die aus der Excel-Liste):
F:\Bilder
Kopiert werden sollen die entsprechenden Ordner inkl. Inhalt in den Pfad:
H:\Bilder_Kopie
Danke
Edit: Achja, eine einfache Batch-Datei wäre gut. Powershell kann hier am Rechner leider nicht ausgeführt werden.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 328829
Url: https://administrator.de/contentid/328829
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
6 Kommentare
Neuester Kommentar
Batch ist für den Zugriff auf ein Excel-Sheet etwas schlecht geeignet mit einem VBS kein Problem.
Könntest man auch direkt in die Liste als Makro einbauen wenn man das wollte.
Gruß
On Error Resume Next
Const QUELLE = "c:\quelle"
Const ZIEL = "C:\ziel"
Const LISTE = "C:\liste.xlsx"
Set objExcel = CreateObject("Excel.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
objExcel.DisplayAlerts = False
With objExcel.Workbooks.Open(LISTE).Sheets(1)
For Each cell In .Range("A1:A" & .Cells.Item(.Rows.Count,"A").End(-4162).Row)
folder = QUELLE & "\" & cell.Value
If fso.FolderExists(folder) Then fso.CopyFolder folder,ZIEL & "\", True
If Err.Number <> 0 Then
MsgBox "Fehler beim kopieren des Ordners '" & folder & "'" & vbNewLine & Err.Description, vbExclamation
Err.Clear
End If
Next
End With
objExcel.DisplayAlerts = True
objExcel.Quit
MsgBox "Finished"
Gruß
Sonst noch Wünsche, n' Bier oder'n Kaffee?...
Viel Spaß
Sub Action()
On Error Resume Next
Const QUELLE = "C:\quelle"
Const ZIEL = "C:\ziel"
Dim fso as Object, folder as String, cell as Range
Set fso = CreateObject("Scripting.FileSystemObject")
With Sheets(1)
For Each cell In .Range("A1:A" & .Cells(.Rows.Count,"A").End(xlUp).Row)
folder = QUELLE & "\" & cell.Value
If fso.FolderExists(folder) Then fso.CopyFolder folder,ZIEL & "\",True
If Err.Number <> 0 Then
MsgBox "Fehler beim kopieren des Ordners '" & folder & "'" & vbNewLine & Err.Description, vbExclamation
Err.Clear
End If
Next
End With
Set fso = Nothing
MsgBox "Finished"
End Sub