apa yang Anda maksud dengan mengubah semua ekstensi sebagai *****. jpg? apakah ini berarti semua ekstensi file ke jpg? jika ya gunakan ren . * .jpg
Imran Rizvi
sistem operasi apa? Bagaimana Anda ingin mengubahnya?
bryce
@Bryce tentunya sistem operasi windows ..
Berker Yüceer
Jawaban:
299
Anda dapat menggunakan ren(seperti dalam mengganti nama ):
ren *.XXX *.YYY
Dan tentu saja, ganti XXX dan YYY untuk ekstensi yang sesuai. Itu akan berubah dari XXX ke YYY. Jika Anda ingin mengubah semua ekstensi, cukup gunakan wildcard lagi:
ren *.* *.YYY
Salah satu cara untuk membuat pekerjaan ini secara rekursif adalah dengan FORperintah. Ini dapat digunakan dengan /Ropsi untuk secara rekursif menerapkan perintah ke file yang cocok. Sebagai contoh:
for /R %x in (*.txt) do ren "%x" *.renamed
akan mengubah semua .txtekstensi .renamedsecara rekursif, mulai dari direktori saat ini.
%xadalah variabel yang menyimpan nama file yang cocok.
Dan, karena Anda memiliki ribuan file, pastikan untuk menunggu hingga kursor mulai berkedip lagi yang menunjukkan bahwa itu sudah berfungsi.
Catatan: ini hanya berfungsi pada cmd. Tidak akan bekerja pada Powershell atau Bash
* .XXX akan mengubah file untuk ekstensi tertentu (artinya akan mengubah nama semua file dengan ekstensi XXX)
Habib
@ keyser5053 juga bisakah saya mendapatkan laporan tentang tindakan yang dilakukan di sini .. dengan menggunakan ren *.* *.jpg > E:\Log\Cmd\ExtChange\ext.txt?
Berker Yüceer
Dan bagaimana dengan penggantian rekursif di semua sub-dirs?
NightElfik
@NightElfik Saya menambahkan contoh rekursif yang menggunakanFOR
keyser
4
Saya tidak bisa mendapatkan ini berfungsi di PowerShell, tapi itu bekerja dengan baik di cmd.exe. Supaya orang lain sadar.
hazzey
20
pada CMD
Tipe
ren *.* *.jpg
. akan memilih semua file, dan mengganti nama menjadi * (nama apa pun yang mereka miliki) ditambah ekstensi ke jpg
Pola penggantian adalah nama file lain dengan indeks wildcard tertanam, yang masing-masing terdiri dari karakter # diikuti oleh digit dari 1 hingga 9. Dalam nama baru file yang cocok, indeks wildcard digantikan oleh karakter aktual yang cocok dengan referensi yang direferensikan. wildcard dalam nama file asli.
dan
Perhatikan bahwa shell biasanya memperluas wildcard * dan?, Yang dalam kasus ren tidak diinginkan. Dengan demikian, dalam banyak kasus perlu menyertakan pola pencarian dalam tanda kutip.
Saya harus menggunakan # 1: ren "* .csv" "# 1.json"
elmalto
1
man ren? Pertanyaannya adalah tentang Windows / cmd. Apakah itu sekarang menyediakan manhalaman? Apa itu ren-1.0dan bagaimana kita dapat melihat manhalamannya dalam konteks?
Anda ingin mengubah ringtone1.mp3, ringtone2.mp3menjadi ringtone1.wav,ringtone2.wav
Inilah cara melakukannya: Saya berada di drive d pada command prompt (CMD) jadi saya gunakan:
d:\>ren *.* *.wav
Ini hanya contoh ekstensi file, Anda dapat menggunakan semua jenis ekstensi file seperti WAV, MP3, JPG, GIF, bmp, PDF, DOC, DOCX, TXT ini tergantung pada sistem operasi Anda.
Dan, karena Anda memiliki ribuan file, pastikan untuk menunggu hingga kursor mulai berkedip lagi yang menunjukkan bahwa itu sudah berfungsi.
@echo off
setlocal enabledelayedexpansion
for %%f in (*) do (
set B=%%f
set B=!B:%CD%\=!
ren "!B!" "!B:.StoredProcedure=!"
)
Script di atas menghilangkan substring .StoredProceduredari nama file. Saya yakin ini dapat diadaptasi untuk mencakup lebih banyak kasus, meminta masukan dan secara keseluruhan lebih umum.
mengganti dua Anda setperintah dengan satu tunggal ini: set "B=%%~nxf". ( %%~nxfAdalah n ame dan e x ketegangan %%f). %cd%mungkin tidak valid, ketika Anda melakukannya secara rekursif.
Stephan
1
Saya tahu ini sudah sangat tua, tetapi saya telah mendarat di sana, dan jawaban yang diberikan tidak bekerja untuk saya di PowerShell jadi setelah mencari menemukan solusi ini
Jawaban:
Anda dapat menggunakan
ren
(seperti dalam mengganti nama ):Dan tentu saja, ganti XXX dan YYY untuk ekstensi yang sesuai. Itu akan berubah dari XXX ke YYY. Jika Anda ingin mengubah semua ekstensi, cukup gunakan wildcard lagi:
Salah satu cara untuk membuat pekerjaan ini secara rekursif adalah dengan
FOR
perintah. Ini dapat digunakan dengan/R
opsi untuk secara rekursif menerapkan perintah ke file yang cocok. Sebagai contoh:for /R %x in (*.txt) do ren "%x" *.renamed
akan mengubah semua
.txt
ekstensi.renamed
secara rekursif, mulai dari direktori saat ini.%x
adalah variabel yang menyimpan nama file yang cocok.Dan, karena Anda memiliki ribuan file, pastikan untuk menunggu hingga kursor mulai berkedip lagi yang menunjukkan bahwa itu sudah berfungsi.
Catatan: ini hanya berfungsi pada cmd. Tidak akan bekerja pada Powershell atau Bash
sumber
ren *.* *.jpg > E:\Log\Cmd\ExtChange\ext.txt
?FOR
pada CMD
Tipe
. akan memilih semua file, dan mengganti nama menjadi * (nama apa pun yang mereka miliki) ditambah ekstensi ke jpg
sumber
Ganti nama perilaku terkadang 'kurang intuitif'; sebagai contoh...
ren * .THM * .jpg akan mengubah nama file THM Anda menjadi ekstensi .jpg. misalnya: GEDC003.THM akan menjadi GEDC003.jpg
ren * .THM * b.jpg akan mengubah nama file THM Anda menjadi * .THMb.jpg. misalnya: GEDC004.THM akan menjadi GEDC004.THMb.jpg
ren * .THM * .b.jpg akan mengubah nama file THM Anda menjadi * .b.jpg misalnya: GEDC005.THM akan menjadi GEDC005.b.jpg
sumber
CATATAN: bukan untuk Windows
Menggunakan ren-1.0 formulir yang benar adalah:
Dari
man ren
dan
sumber
man ren
? Pertanyaannya adalah tentang Windows /cmd
. Apakah itu sekarang menyediakanman
halaman? Apa ituren-1.0
dan bagaimana kita dapat melihatman
halamannya dalam konteks?itu sederhana
coba ini di command prompt
sumber
Hanya untuk orang yang ingin melakukan ini dalam file batch, kode ini berfungsi:
Dalam contoh ini semua file dengan ekstensi .jpg di direktori tes C: \ Users \ jonathan \ Desktop \ diubah menjadi * .png.
sumber
Ganti nama beberapa ekstensi file:
Anda ingin mengubah
ringtone1.mp3
,ringtone2.mp3
menjadiringtone1.wav
,ringtone2.wav
Inilah cara melakukannya: Saya berada di drive d pada command prompt (CMD) jadi saya gunakan:
Ini hanya contoh ekstensi file, Anda dapat menggunakan semua jenis ekstensi file seperti WAV, MP3, JPG, GIF, bmp, PDF, DOC, DOCX, TXT ini tergantung pada sistem operasi Anda.
Dan, karena Anda memiliki ribuan file, pastikan untuk menunggu hingga kursor mulai berkedip lagi yang menunjukkan bahwa itu sudah berfungsi.
sumber
Dalam kasus saya, saya memiliki direktori dengan 800+ file yang diakhiri
.StoredProcedure.sql
(ditulis dengan SSMS ).Solusi yang diposting di atas tidak berfungsi. Tapi saya datang dengan ini:
(Berdasarkan jawaban untuk pemrograman batch - dapatkan jalur relatif file )
Script di atas menghilangkan substring
.StoredProcedure
dari nama file. Saya yakin ini dapat diadaptasi untuk mencakup lebih banyak kasus, meminta masukan dan secara keseluruhan lebih umum.sumber
set
perintah dengan satu tunggal ini:set "B=%%~nxf"
. (%%~nxf
Adalah n ame dan e x ketegangan%%f
).%cd%
mungkin tidak valid, ketika Anda melakukannya secara rekursif.Saya tahu ini sudah sangat tua, tetapi saya telah mendarat di sana, dan jawaban yang diberikan tidak bekerja untuk saya di PowerShell jadi setelah mencari menemukan solusi ini
untuk melakukannya dengan PowerShell
kredit diberikan ke http://powershell-guru.com/powershell-tip-108-bulk-rename-extensions-of-files/
sumber
Cara alternatif untuk mengganti nama file menggunakan paket renamer npm.
di bawah ini adalah contoh mengubah nama ekstensi file
sumber
Apa yang berhasil untuk saya adalah yang ini (cd ke folder dulu):
sumber