Windows'ta bir klasördeki tüm dosyaların uzantılarını tek komutla değiştirme


148

Binlerce dosyanın uzantılarını değiştirmek için Windows komut satırını nasıl kullanabilirim *****.jpg?


Tüm uzantıları *****. jpg olarak değiştirerek ne demek istiyorsunuz? jpg'ye tüm dosya uzantıları anlamına mı geliyor? evet ise ren kullanın . * .jpg
Imran Rizvi

hangi işletim sistemi? Onları nasıl değiştirmek istersiniz?
bryce

@bryce off course windows işletim sistemi ..
Berker

Yanıtlar:


308

Kullanabilirsiniz ren( yeniden adlandırmada olduğu gibi ):

ren *.XXX *.YYY

Ve elbette, uygun uzantılar için XXX ve YYY'yi değiştirin. Bu değişecek gelen XXX için YYY. Tüm uzantıları değiştirmek istiyorsanız, tekrar joker karakteri kullanın:

ren *.* *.YYY

Bunu yinelemeli olarak çalıştırmanın bir yolu da FORkomuttur. /REşleşen dosyalara özyinelemeli olarak bir komut uygulama seçeneğiyle birlikte kullanılabilir . Örneğin:

for /R %x in (*.txt) do ren "%x" *.renamed

mevcut dizinden başlayarak tüm .txtuzantıları .renamedözyinelemeli olarak değiştirir . %xeşleşen dosya adlarını tutan değişkendir.

Ve binlerce dosyanız olduğu için, imlecin çalışmasının bittiğini gösterecek şekilde tekrar yanıp sönmeye başlamasını bekleyin.

Not: bu yalnızca cmd'de çalışır. Powershell veya Bash üzerinde çalışmayacak


* .XXX, söz konusu uzantı için dosyaları değiştirecek (bu, XXX uzantılı tüm dosyaları yeniden adlandıracağı anlamına gelir)
Habib

@ keyser5053 ayrıca burada yapılan eylem hakkında bir rapor alabilir miyim .. kullanarak ren *.* *.jpg > E:\Log\Cmd\ExtChange\ext.txt?
Berker Yüceer

Ve tüm alt dizinlerde yinelemeli değiştirmeye ne dersiniz?
NightElfik

@NightElfik O kullandığı bir özyinelemeli örnek eklendiFOR
Keyser

5
Bunun powershell'de çalışmasını sağlayamadım, ancak cmd.exe'de iyi çalıştı. Sadece başkalarının farkında olması için.
hazzey

22

CMD'de

tip

ren *.* *.jpg

. tüm dosyaları seçecek ve * (adı ne olursa olsun) artı jpg uzantısını yeniden adlandıracak


10

Yeniden adlandırma davranışı bazen 'sezgisel olmaktan daha azdır'; Örneğin...

ren * .THM * .jpg, THM dosyalarınızı .jpg uzantılı olacak şekilde yeniden adlandıracaktır. örneğin: GEDC003.THM, GEDC003.jpg olacaktır

ren * .THM * b.jpg, THM dosyalarınızı * .THMb.jpg olarak yeniden adlandıracaktır. örneğin: GEDC004.THM, GEDC004.THMb.jpg olacaktır.

ren * .THM * .b.jpg, THM dosyalarınızı * .b.jpg olarak yeniden adlandıracaktır, örneğin: GEDC005.THM, GEDC005.b.jpg olacaktır


güzel açıklama
Arslan Ahmad

7

NOT: Windows için değil

Ren-1.0'ı kullanarak doğru biçim:

"ren *.*" "#2.jpg"

Nereden man ren

Değiştirme kalıbı, her biri # karakterinden ve ardından 1'den 9'a kadar bir rakamdan oluşan, gömülü joker karakter dizinlerine sahip başka bir dosya adıdır. Eşleşen bir dosyanın yeni adında, joker karakter dizinleri, başvurulanla eşleşen gerçek karakterlerle değiştirilir. orijinal dosya adındaki joker karakterler.

ve

Kabuğun normalde * ve? Joker karakterlerini genişlettiğine dikkat edin, bu ren durumunda bu istenmeyen bir durumdur. Bu nedenle, çoğu durumda arama modelini tırnak içine almak gerekir.


# 1: ren "* .csv" "# 1.json" kullanmak zorunda kaldım
elmalto

1
man ren? Soru Windows / ile ilgiliydi cmd. Bunlar artık mansayfalar sağlıyor mu? Nedir ren-1.0ve nasıl biz onun görebilirsiniz manbağlamında sayfasını?
underscore_d


3

Sadece bunu toplu iş dosyalarında yapmak isteyen kişiler için bu kod çalışıyor:

FOR /R "C:\Users\jonathan\Desktop\test" %%f IN (*.jpg) DO REN "%%f" *.png

Bu örnekte C: \ Users \ jonathan \ Desktop \ test dizinindeki .jpg uzantılı tüm dosyalar * .png olarak değiştirilmiştir.


2

Birden çok dosya uzantısını yeniden adlandırın:

Değiştirmek istediğiniz ringtone1.mp3, ringtone2.mp3etmek ringtone1.wav,ringtone2.wav

İşte bunu nasıl yapacağınız: Komut isteminde (CMD) d sürücüsündeyim, bu yüzden kullanıyorum:

d:\>ren *.* *.wav 

Bu sadece dosya uzantılarına bir örnektir, WAV, MP3, JPG, GIF, bmp, PDF, DOC, DOCX, TXT gibi herhangi bir dosya uzantısı türünü kullanabilirsiniz, bu, işletim sisteminize bağlıdır.

Ve binlerce dosyanız olduğu için, imlecin çalışmasının bittiğini gösterecek şekilde tekrar yanıp sönmeye başlamasını bekleyin.


1

Benim durumumda, 800'den fazla dosya ile biten bir dizine sahiptim .StoredProcedure.sql( SSMS ile yazılmışlardı ).

Yukarıda yayınlanan çözümler işe yaramadı. Ama şunu buldum:

( Toplu programlamaya verilen yanıtlara göre - dosyanın göreceli yolunu alın )

@echo off
setlocal enabledelayedexpansion
for %%f in (*) do (
  set B=%%f
  set B=!B:%CD%\=!
  ren "!B!" "!B:.StoredProcedure=!"
)

Yukarıdaki komut dosyası, alt dizeyi .StoredProceduredosya adından kaldırır . Eminim daha fazla durumu kapsayacak, girdi isteyecek ve genel olarak daha genel olacak şekilde uyarlanabilir.


2
senin iki yerine setbu tek biriyle komutları: set "B=%%~nxf". ( %%~nxfOlup , n ame ve e X gerginlik %%f). %cd%özyinelemeli yaptığınızda geçersiz olabilir.
Stephan


0

Yeniden adlandırıcı npm paketini kullanarak dosyaları yeniden adlandırmanın alternatif bir yolu .

aşağıda dosya uzantılarının yeniden adlandırılmasına bir örnek verilmiştir

renamer -d --path-element ext --find ts --replace js *

0

Benim için işe yarayan şey şudur (önce klasöre cd):

Get-ChildItem -Filter *.old | Rename-Item -NewName {[System.IO.Path]::ChangeExtension($_.Name, ".new")}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.