Cara mudah untuk mengganti nama semua file dalam direktori di Windows [ditutup]

9

Apakah ada cara mudah untuk mengganti nama semua file dalam direktori? Apakah PowerShell cara untuk pergi?

Saya ingin beralih dari ini:

c:\family_pics\
   img123.jpg
   img124.jpg

untuk ini:

c:\family_pics\ 
   family_pics_1.jpg 
   family_pics_2.jpg

Idealnya, saya ingin menjalankan skrip pada direktori yang akan mengubah nama semua file berdasarkan nama direktori saat ini sambil menjaga ekstensi dan akan berjalan pohon direktori secara rekursif.

Bahkan Mien
sumber

Jawaban:

16

Atas dasar bahwa semuanya dapat dilakukan dalam satu baris PowerShell (seperti semuanya juga dapat dilakukan dalam 1 baris Perl), inilah kode PS untuk satu direktori.

$i=0; get-childitem $dirname | foreach-object {

       rename-item "$dirname\$_" $("{0}_{1}{2}" -f $dirname, ++$i, $_.Extension)
}

Untuk melakukannya secara rekursif, Anda akan membungkus di atas dalam suatu fungsi dan kemudian memanggilnya di setiap direktori di pohon Anda. Anda juga bisa mengganti string format dengan sesuatu yang sedikit lebih canggih jika Anda perlu menggunakan regex.

pengguna2278
sumber
10

Ini agak gila, tapi saya sudah melakukan ini selama 12 tahun dan saya cukup cepat dalam hal ini:

  • Buka prompt perintah di c: \ family_pics dan ketik dir >> dir.xls
  • Buka file dir.xls di Excel
  • Sorot kolom pertama, pilih "Teks ke Kolom", dan tambahkan jeda kolom pada karakter spasi (mengabaikan duplikat)
  • Anda sekarang memiliki tabel yang bagus dengan nama file Anda saat ini, ukuran file, dll
  • Tambahkan kolom "ren" baru sebelum nama file
  • Tambahkan kolom baru setelah nama file, dan gunakan fungsi Excel apa pun yang Anda inginkan untuk menghasilkan nama file baru. Dalam kasus Anda, jika Anda mengetik dua nama file pertama dan kemudian klik dua kali sudut kanan bawah sel, Excel akan secara otomatis mendeteksi pola dan menghasilkan nama yang tersisa.
  • Simpan sebagai ren.bat
  • Jalankan file batch yang baru saja Anda buat dan itu akan mengubah nama semua direktori Anda

Meskipun mungkin tidak segera jelas, Excel sangat cocok untuk tugas semacam ini, karena Anda dapat menggunakan segala jenis rumus yang Anda inginkan untuk menghasilkan file baru, menggunakan input dari file yang ada (cap waktu, nama file, ukuran, dll. ).

Portman
sumber
Excel adalah pembuat kode / skrip terbaik yang saya tahu.
GvS
3

Meskipun Anda dapat melakukan hal-hal dengan file batch saya telah menemukan bahwa lebih banyak kontrol, opsi dll. Dan petunjuk visual tentang apa yang akan terjadi lebih baik.

Ada alat gratis yang disebut CKRename. Situs penulis asli tampaknya telah menghilang tetapi aplikasi ini berfungsi penuh dan cukup populer (saya telah menggunakannya selama 8 tahun). Unduh CKRename

Berikut screenshot dari aksi itu masukkan deskripsi gambar di sini

scunliffe
sumber
1

Anda bisa menyorot semua yang Anda inginkan di explorer kemudian klik kanan pada yang pertama dan ganti nama dan windows kemudian akan mengubah nama mereka semua untuk Anda dengan konvensi penamaan yang sama.

pengguna2287
sumber
Baru saja mencobanya dimulai dengan fileA.m, fileB.m, dll. Sisa dari fileA_001.m, fileB_002.m, alih-alih mendapat fileA_001.m, fileA_001 (1) .m, fileA_001 (2) .m, dll.
jacobsee
1

ReNamer: http://www.den4b.com/

Lihat juga: Cara Mengganti Nama Bagian dari Nama File dari Pilihan File di Windows?

Letakkan folder Anda dengan gambar ke ReNamer (subfolder akan ditambahkan secara rekursif secara default). Klik kolom Nama untuk mengurutkan berdasarkan nama file jika Anda ingin mempertahankan urutan berurutan. Tag meta khusus akan memungkinkan Anda menggunakan nama folder induk untuk penggantian nama. Gunakan aturan penggantian nama berikut:

  1. Hapus dari Posisi 1 hingga Akhir (lewati ekstensi)
  2. Sisipkan ": File_FolderName: _" sebagai Awalan (lewati ekstensi)
  3. Serialize Incremental dari 1 langkah 1 ulangi 1 sebagai Suffix (lewati ekstensi)

masukkan deskripsi gambar di sini

cagcowboy
sumber
Ganti nama +1 sangat mengagumkan!
Chris Marisic
0

Unduh RenameFiles (freeware). Ini adalah satu-satunya program yang sangat saya lewatkan sejak saya pindah dari Windows ke Apple.

Sepertinya ini tersedia di sini http://it-falke.com/software/renamefiles/us_description.php tapi saya tidak punya PC untuk menguji tautan itu. Versi terakhir yang saya gunakan adalah 2.1.4. Itu sangat sederhana tetapi fleksibel.

nama pengguna
sumber
0

ini menghilangkan empat karakter terakhir (biasanya ekstensi)

dir *.jpg | % { ren $_.Name $_.Name.Substring(0,$_.Name.Length-4) }

Anda mungkin perlu menyesuaikan yang di atas untuk menangani spasi atau persyaratan penggantian nama khusus Anda

Goyuix
sumber