
Ich versuche, Ordner anhand des letzten Teils ihres Namens in neue Ordner zu verschieben. Das Trennzeichen ist ein Unterstrich. Die Anzahl der Unterstriche in den Ordnernamen variiert stark. Ich habe Code gefunden, der den ersten Teil des Namens verwendet, kann aber nicht herausfinden, wie ich ihn dazu bringen kann, den letzten Teil des Namens zu verwenden. In awk wäre das etwa awk -F'_' {Print $NF}.
@echo off
FOR /D %%G IN (*) DO (
FOR /F "delims=_" %%H IN ("%%~G") DO (
MD "%%~H" 2>nul
MOVE "%%~G" "%%~H"
)
)
Bearbeitet, um Beispiele hinzuzufügen:
Folder_01 -> md (if necessary) and move into folder "01"
Folder_02 -> md (if necessary) and move into folder "02"
weird_folder_name_a2d -> md (if necessary) and move into folder "a2d"
Antwort1
Antwort2
So geht es am einfachsten unter Linux oder WSL:
find . -maxdepth 1 -type d -exec perl -e '$a="\Q@ARGV"; $a =~ /([^_]+$)/; `mkdir -p $1 && mv $a $1`' "{}" \;
Genommen von:https://askubuntu.com/a/538270