Bagaimana cara mengganti nama banyak file sekaligus?

27

Saya ingin mengganti nama banyak file sekaligus. Sebagai contoh:

Picture1.jpg
Picture2.jpg
Picture3.jpg
Picture4.jpg

ke

Vacation-Picture1.jpg
Vacation-Picture2.jpg
Vacation-Picture3.jpg
Vacation-Picture4.jpg

Saya cukup akrab dengan terminal, jika tidak ada aplikasi yang cukup baik dalam mengubah nama file.

YeppThat'sMe
sumber

Jawaban:

26

Coba sesuatu seperti ini:

 for file in Picture*.jpg
 do
    mv "$file" "vacation-$file"
 done  

(buka terminal dan tambahkan satu baris {tekan Enter} sekaligus.)

Apa yang dilakukan adalah menggunakan file variabel untuk setiap entri yang cocok Picture*.jpg. Kemudian dibutuhkan file atau folder dan memindahkannya untuk diawali dengan "liburan".

Semoga itu bisa membantu

slowBear
sumber
1
Bagaimana jika saya ingin mengganti nama Vacation-Picture4.jpgkembali Picture4.jpg? Yaitu, menghapus kata dari nama file. Terima kasih!
zyy
29

Tidak perlu untuk baris perintah ...

  1. Tambahkan semua gambar untuk diubah namanya menjadi folder.
  2. Pilih semua file, klik kanan mouse dan pilih "Ubah nama x item"
  3. Pilih "Tambahkan teks" dari menu drop down pertama
  4. Pilih "Sebelum nama" dari menu drop down kedua
  5. Masukkan "Vacation_" ke dalam kotak teks (tanpa tanda kutip)
  6. Tekan enter.
Penemu Guru
sumber
24
brew install rename

rename s/config\./route\.config\./g *

Pertama, Anda perlu menginstal homebrew. Kemudian instal rename, dan regex di atas mengganti nama semua file dengan "config." ke "route.config".

Jadi, katakan file config.a.js, dan config.b.js -> route.config.a.js, route.config.b.js.

Nick
sumber
Menurut brew desc renameperintah: "rename: skrip rename file bert-powered dengan banyak built-in yang bermanfaat". The brew home renameperintah mengarah ke http://plasmasturm.org/code/rename/ untuk dokumentasi, dll
kjones
4

Meskipun bukan solusi Terminal, saya suka Forklift untuk tujuan ini (dan untuk banyak lainnya). Dari situs web mereka:

Deskripsi fitur Multi-ganti nama Forklift

Dan J
sumber
Yap, pasti ada solusi berbasis terminal. Saya juga menemukan ini di google perkasa;) manytricks.com/namemangler
YeppThat'sMe
Anda juga dapat memposting NameMangler sebagai jawaban tambahan, karena ini pada dasarnya adalah pertanyaan rekomendasi. :)
Dan J
Untuk mengganti nama banyak file (secara rekursif) dengan Forklift .. cukup pilih semua file lalu keluarkan semua direktori dengan CMD + kanan .. sampai Anda menutup semuanya .. bekerja dengan saya
Maher Abuthraa
2

Jika Anda ingin secara massal mengganti nama file, saya membuat skrip kecil untuk itu.

# Rename Bullk files.
# Renames all the files in PWD with the given extension.
#
# @param extension | jpg
# @param new_name | name
# Usage: rename jpg new_name
function rename() {
    echo "———————————————— STARTED ————————————————"

    # Counter.
    COUNTER=1

    # For do loop.
    for file in *."$1"; do
        mv "$file" "$2-$COUNTER.$1"
        COUNTER=$[$COUNTER +1]
    done
    echo "———————————————— ✔✔✔ RENAMED Every $1 file in the PWD! ✔✔✔︎ ————————————————"
}

Masukkan saja .bashrcatau .zshrcjalankan dan Usage: rename jpg new_nameini akan mengubah nama semua file jpg di PWD menjadi new_name-1.jpg, new_name-2.jpg, dll.

Tepuk tangan!

Ahmad Awais
sumber
Atau untuk menempatkan fungsi dalam file .bashrc atau .zshrc saya taruh di .bash_profile saya dan berfungsi dengan baik!
Elena
1

Setelah mengunduh, ganti nama

brew install rename

jalankan perintah berikut

rename -n -A Vacation- *

-A: prepend

-n: Tunjukkan bagaimana file akan diubah namanya, tetapi sebenarnya tidak apa-apa.

Jadi, Anda harus menghapus flag -n setelah melihat hasilnya.

Sean
sumber