Auf SuperUser finden Sie eine Vielzahl ähnlicher Fragen mit entsprechenden Antworten, um zu erfahren, wie Sie ein Skript dafür schreiben. Da Sie nicht erwähnt haben, welches Betriebssystem Sie verwenden, werde ich eine Powershell-Lösung für Windows bereitstellen.
Erstellen Sie die neuen Unterordner in jedem Ordner in setA, führen Sie dann eine Schleife durch die Dateien von setA durch und kopieren Sie sie in die entsprechenden Ordner A_files_folder
.
Foreach ($dir in Get-ChildItem -Directory -Recurse .\setA) { New-Item -Path $dir.FullName -Name "A_files_folder" -ItemType "Directory"; New-Item -Path $dir.FullName -Name "B_files_folder" -ItemType "Directory"; } Foreach ($file in Get-ChildItem -File -Recurse .\setA) { Copy-Item -Path $file.FullName -Destination $($file.DirectoryName + "\A_files_folder\") }
Wenn Sie sich mit dem zweiten Teil des Jobs befassen, müssen Sie den Zielpfad mit Teilen des ursprünglichen Dateipfads erstellen. Dieser ist jedoch fast identisch mit dem vorherigen Copy-Item
Befehl. Ich würde das verwenden:
Foreach ($file in Get-ChildItem -File -Recurse .\setB) { Move-Item -Path $file.FullName -Destination $(".\setA\" + $($file.DirectoryName.Split("\")[-1]) + "\B_files_folder\") }