Mit einer Unix-Shell ist das ganz einfach. Sie könnten dies auch mit bash tun, aber wie Sie es mit der kostenlosen Demoversion meiner Hamilton C-Shell tun könnten . (Ja, ich bin der Autor.)
Angenommen, Sie befinden sich in dem Verzeichnis, in dem sich die JPGs befinden, und das Verzeichnis mit den CDs ist der Pfad zu dem Verzeichnis mit den Unterverzeichnissen mit den CDs:
set CDs = ``ld -1 directory-containing-CDs`` # Get list of CD directories set covers = *.jpg # Get the list of jpgs for i = 0 to $#covers - 1 do mv $covers[i] directory-containing-CDs\$CDs[i] # Move the jpgs one-at-a-time. end
ld
ist ein Alias zum Ausführen ls
und gibt nur Verzeichnisse zurück. Die -1
Option bedeutet, jedes Verzeichnis in eine eigene Zeile zu schreiben. Die doppelten Backquotes verwandeln jede Zeile in ein separates Wort (wenn Verzeichnisnamen Leerzeichen enthalten, möchten wir sie nicht in separate Wörter aufteilen).
Wenn etwas nicht klar ist, fragen Sie einfach.