你可以這樣做與bash
腳本。
首先備份!
將下列內容保存在你的主目錄reorganise
:
#!/bin/bash
find $(pwd) -name "* -*" -print0 | while read -d $'\0' f; do
echo Processing file $f...
base=$(basename "$f")
echo " base: $base"
case=${base/ -*/}
echo " case: $case"
# EDIT THE FOLLOWING LINE TO BE CORRECT FOR YOU !!!
newplace="/path/to/new/place/$case"
echo mkdir -p "$newplace"
echo cp "$f" "$newplace"
done
然後開始Terminal
並鍵入以下內容只是一次使腳本可執行:
chmod +x reorganise
然後進入目錄,你的文件是:
cd where/your/files/are
然後你可以運行腳本:
$HOME/organise
它會告訴你它會做什麼,不做任何事情。如果你喜歡它,你可以在第二行和第三行到最後一行刪除單詞echo
並再次運行。
您至少需要編輯指定的行。
樣本輸出
Processing file /Users/mark/tmp/1234563 - fredb...
base: 1234563 - fredb
case: 1234563
mkdir -p /path/to/new/place/1234563
cp /Users/mark/tmp/1234563 - fredb /path/to/new/place/1234563
Processing file /Users/mark/tmp/1234567 - fred...
base: 1234567 - fred
case: 1234567
mkdir -p /path/to/new/place/1234567
cp /Users/mark/tmp/1234567 - fred /path/to/new/place/1234567
不要在目標目錄已經存在,其中必須將文件複製到?文件名是否總是隻有一個多位數字(沒有字母),後跟一個空格,然後是連字符? –