Windows'daki bir dizindeki tüm dosyaları yeniden adlandırmanın kolay yolu [kapalı]


9

Bir dizindeki tüm dosyaları yeniden adlandırmanın kolay bir yolu var mı? PowerShell gidilecek yol mu?

Bundan gitmek istiyorum:

c:\family_pics\
   img123.jpg
   img124.jpg

buna:

c:\family_pics\ 
   family_pics_1.jpg 
   family_pics_2.jpg

İdeal olarak, bir dizinde, uzantıyı korurken geçerli dizinin adını temel alan tüm dosyaları yeniden adlandıracak ve dizin ağacını özyinelemeli olarak yürütebilecek bir komut dosyası çalıştırmak istiyorum.

Yanıtlar:


16

Her şeyin bir PowerShell satırında yapılabilmesi temelinde (her şey Perl'in 1 satırında da yapılabilir), burada tek bir dizinin PS kodu.

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

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

Özyinelemeli olarak yapmak için, yukarıdakileri bir işleve sarın ve ardından ağacınızdaki her dizine çağırırsınız. Normal ifadeleri kullanmanız gerekiyorsa, biçim dizesini biraz daha karmaşık bir şeyle de değiştirebilirsiniz.


10

Bu biraz hileli, ama bunu 12 yıldır yapıyorum ve oldukça hızlıyım:

  • C: \ family_pics içinde bir komut istemi açın ve şunu yazın dir >> dir.xls
  • Dir.xls dosyasını Excel'de açın
  • İlk sütunu vurgulayın, "Sütunlara Metin" i seçin ve boşluk karakterlerine sütun sonları ekleyin (kopyaları yok sayın)
  • Artık mevcut dosya adlarınız, dosya boyutlarınız vb. İle güzel bir tablonuz var.
  • Dosya adının önüne yeni bir "ren" sütunu ekleyin
  • Dosya adından sonra yeni bir sütun ekleyin ve yeni dosya adını oluşturmak istediğiniz Excel işlevlerini kullanın. Sizin durumunuzda, ilk iki dosya adını yazar ve sonra hücrenin sağ alt köşesini çift tıklatırsanız, Excel deseni otomatik olarak algılar ve kalan adları oluşturur.
  • Farklı kaydet ren.bat
  • Yeni oluşturduğunuz toplu iş dosyasını çalıştırın ve tüm dizinlerinizi yeniden adlandırın

Hemen belli olmasa da, Excel bu tür görevler için çok uygundur, çünkü mevcut dosyalardan (zaman damgası, dosya adı, boyut vb.) Yeni dosyaları oluşturmak için istediğiniz herhangi bir formülü kullanabilirsiniz. ).


Excel bildiğim en iyi kod / kod üretecidir.
GvS

3

Bir toplu iş dosyası ile şeyler yapabilmenize rağmen, daha fazla kontrol, seçenek vb.

CKRename adlı ücretsiz bir araç var. Orijinal yazarın sitesi hayal kırıklığına uğramış gibi görünüyor ama uygulama tamamen işlevsel ve oldukça popüler (8 yıldır kullanıyorum). CKRename indir

İşte eylemde bir ekran görüntüsü resim açıklamasını buraya girin


1

Sadece kaşif istediğinizi vurgulayın, sonra ilkine sağ tıklayın ve yeniden adlandırın ve pencereler aynı adlandırma kuralıyla hepsini sizin için yeniden adlandırır.


Hemen yerine, vb fileA.m, fileB.m, fileA_001.m, fileB_002.m ait Istead ile başlayan denedim vs. fileA_001.m, fileA_001 (1) .m, fileA_001 (2) .m, got
jacobsee

1

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

Ayrıca bkz: Windows'da Bir Dosya Seçiminden Dosya Adının Bir Kısmını Yeniden Adlandırma

Resimlerle klasörünüzü ReNamer'a bırakın (varsayılan olarak alt klasörler özyinelemeli olarak eklenir). Sıralı sıralamayı korumak istiyorsanız dosya adına göre sıralamak için Ad sütununa tıklayın. Özel meta etiketi, yeniden adlandırma için üst klasör adını kullanmanıza olanak tanır. Aşağıdaki yeniden adlandırma kurallarını kullanın:

  1. Konum 1'den Sona kadar sil (uzantıyı atla)
  2. Önek olarak ": File_FolderName: _" ekle (uzantıyı atla)
  3. Artım'ı 1 adım 1'den itibaren art arda seri haline getirin 1

resim açıklamasını buraya girin


+1 yeniden adlandırma sadece harika oldu!
Chris Marisic



0

bu, son dört karakteri (genellikle uzantı) kaldırır

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

Boşlukları veya özel yeniden adlandırma gereksinimlerinizi ele almak için yukarıdakileri uyarlamanız gerekebilir

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.