kaiadelmann
Goto Top

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...

Content-ID: 44317

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

Ausgedruckt am: 25.11.2024 um 04:11 Uhr

MCSE-Cheffe
MCSE-Cheffe 13.11.2006 um 14:47:03 Uhr
Goto Top
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