Ordner verschieben - Eingabe aus Datei
Hallo!
Folgendes Problem: Ich habe eine Exceldatei, in der ca. 6.000 Ordnernamen aufgelistet sind.
In diesen Ordnern sind Unterverzeichnise und alte Dateien, die in einen Archivordner verschoben werden sollen (natürlich soll die Ordnerstruktur beibehalten werden...).
Da ich nun keinerlei Lust verspüre, nach über 6.000 Ordnern einzeln zu suchen, hier die Frage ob jemand ein Tool / einen Weg kennt, die Ordnerliste aus Excel (oder als .txt oder .csv) automatisch abarbeiten zu lassen.
Also ungefähr folgendermaßen:
Gehe in Ordner X, durchsuche alle Unterordner Y, ob dort ein Ordner mit Namen Z vorhanden ist.
Wenn ja -> verschiebe Ordner Y\Z mit allen Dateien darin in Ordner \Archiv\Y\Z.
Wenn nein -> nächster Ordnername auf der Liste und von vorne...
Folgendes Problem: Ich habe eine Exceldatei, in der ca. 6.000 Ordnernamen aufgelistet sind.
In diesen Ordnern sind Unterverzeichnise und alte Dateien, die in einen Archivordner verschoben werden sollen (natürlich soll die Ordnerstruktur beibehalten werden...).
Da ich nun keinerlei Lust verspüre, nach über 6.000 Ordnern einzeln zu suchen, hier die Frage ob jemand ein Tool / einen Weg kennt, die Ordnerliste aus Excel (oder als .txt oder .csv) automatisch abarbeiten zu lassen.
Also ungefähr folgendermaßen:
Gehe in Ordner X, durchsuche alle Unterordner Y, ob dort ein Ordner mit Namen Z vorhanden ist.
Wenn ja -> verschiebe Ordner Y\Z mit allen Dateien darin in Ordner \Archiv\Y\Z.
Wenn nein -> nächster Ordnername auf der Liste und von vorne...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 44317
Url: https://administrator.de/contentid/44317
Ausgedruckt am: 25.11.2024 um 04:11 Uhr
1 Kommentar
Hallo,
nachdem deine Angaben nicht so Detailgenau sind , z.B. wo der Pfad(c:\) ist ob es immer einen Ordner y gibt, habe ich mal ein kleines VBScript geschrieben das natürlich an deine gegebenheiten angepasst werden soll (muss).
Hier ein Entwurf der nicht als Endlösung zu sehen ist, aber ein Anfang für Dich:
' Const
Const ForReading = 1
' EndConst
Set fso = CreateObject ("Scripting.FileSystemObject")
Quell_CSV_Datei = "c:\c\test.txt"
OrdnerLaufwerk = "" 'z.B. c:\
SuchOrdnerName = "" 'z.B. rechnungen
ZielOrdner = "" 'z.B. c:\archiv
Set Quell_CSV_Datei_oeffnen = fso.OpenTextFile (Quell_CSV_Datei,ForReading)
Do While Not Quell_CSV_Datei_oeffnen.atEndOfStream
Input = Input & Quell_CSV_Datei_oeffnen.Readline
Loop
Quell_CSV_Datei_oeffnen.Close
Details = Split(Input, ";")
For i = 0 To UBound(Details)
Pfad_OrdnerLaufwerk = OrdnerLaufwerk & Details(i)
If fso.FolderExists(Pfad_OrdnerLaufwerk) Then
Set ordner_1 = fso.GetFolder(Pfad_OrdnerLaufwerk)
anz_ordner_1 = ordner_1.SubFolders
For Each UnterOrdner In anz_ordner_1
Name_UnterOrdner = UnterOrdner.Name
Pfad_UnterOrdner = UnterOrdner.Path
If fso.FolderExists(Pfad_UnterOrdner & "\" & SuchOrdnerName) Then
fso.MoveFolder Pfad_UnterOrdner & "\" & SuchOrdnerName, ZielOrdner
End If
Next
End If
Next
Du kannst natürlich weitere Fragen stellen wenn Du icht klar kommst.
Gruß MCSE_Cheffe
nachdem deine Angaben nicht so Detailgenau sind , z.B. wo der Pfad(c:\) ist ob es immer einen Ordner y gibt, habe ich mal ein kleines VBScript geschrieben das natürlich an deine gegebenheiten angepasst werden soll (muss).
Hier ein Entwurf der nicht als Endlösung zu sehen ist, aber ein Anfang für Dich:
' Const
Const ForReading = 1
' EndConst
Set fso = CreateObject ("Scripting.FileSystemObject")
Quell_CSV_Datei = "c:\c\test.txt"
OrdnerLaufwerk = "" 'z.B. c:\
SuchOrdnerName = "" 'z.B. rechnungen
ZielOrdner = "" 'z.B. c:\archiv
Set Quell_CSV_Datei_oeffnen = fso.OpenTextFile (Quell_CSV_Datei,ForReading)
Do While Not Quell_CSV_Datei_oeffnen.atEndOfStream
Input = Input & Quell_CSV_Datei_oeffnen.Readline
Loop
Quell_CSV_Datei_oeffnen.Close
Details = Split(Input, ";")
For i = 0 To UBound(Details)
Pfad_OrdnerLaufwerk = OrdnerLaufwerk & Details(i)
If fso.FolderExists(Pfad_OrdnerLaufwerk) Then
Set ordner_1 = fso.GetFolder(Pfad_OrdnerLaufwerk)
anz_ordner_1 = ordner_1.SubFolders
For Each UnterOrdner In anz_ordner_1
Name_UnterOrdner = UnterOrdner.Name
Pfad_UnterOrdner = UnterOrdner.Path
If fso.FolderExists(Pfad_UnterOrdner & "\" & SuchOrdnerName) Then
fso.MoveFolder Pfad_UnterOrdner & "\" & SuchOrdnerName, ZielOrdner
End If
Next
End If
Next
Du kannst natürlich weitere Fragen stellen wenn Du icht klar kommst.
Gruß MCSE_Cheffe