
我正在嘗試根據資料夾名稱的最後一部分將資料夾移至新資料夾中。分隔符號是底線。資料夾名稱中底線的數量差異很大。我發現程式碼使用名稱的第一部分,但無法弄清楚如何使其使用名稱的最後部分。在 awk 中,它類似於 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"
)
)
編輯新增範例:
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"
答案1
答案2
這是使用 Linux 或 WSL 的最簡單方法:
find . -maxdepth 1 -type d -exec perl -e '$a="\Q@ARGV"; $a =~ /([^_]+$)/; `mkdir -p $1 && mv $a $1`' "{}" \;