Tek bir komutla birden çok klasördeki birden çok dosyayı yeniden adlandırma


11

*.htmlDosyalarımızı yeniden adlandırmak istiyoruz, *.phpancak (ne yazık ki) bir cmd komut istemi komutu ve / veya toplu iş dosyasıyla yapmak için yeterli bilgiye sahip değil.

Sorun, her dosyanın ayrı bir klasörde olması ve 750'den fazla farklı klasör adından bahsediyorum. Bildiğim dosyalar için joker karakterler kullanmak, * ancak klasörler için joker karakterler kullanmak benim için bilinmiyor. Muhtemelen FORkomutu kullanmamız gerekiyor (Komut İstemi'nde), ama orada sıkıştım.

Kullandığımız klasör yapısı:

üst klasör / alt klasör / torun klasörü / dosya .html

Örneğin:

  • games/A/game_name/file.html
  • games/B/game_name/file.html
  • games/C/game_name/file.html ve bunun gibi.

Üst klasör tüm dosyalar için aynıdır; çocuk ve torun klasörleri çoğu dosya için farklıdır.

Bu dosyaları yeniden adlandırdıktan sonra *.phpaşağıdaki .htaccesskalıcı bir yönlendirme yapacağını varsayalım .

RedirectMatch 301 (.*)\.html$ http://oursite.com$1.php

Yanıtlar:


14

get-childItem -recurse | Where {$_.extension -eq ".html"} | rename-item -newname { $_.name -replace ".html",".php" }

Bu PowerShell'de çalışacaktır. Windows 7 veya Vista'ya sahipseniz, varsayılan olarak yüklemiş olmanız gerekir. Eğer XP ise bunu indirebilirsiniz burada .


Soandos, Chapeau !!!!!!!!!!!! Bu taraftan çok teşekkürler, bir cazibe gibi çalışır.
Charles

@Charles, sorununuzu çözdüyse lütfen onay işaretini tıklayın, böylece gören herkes bunun işe yaradığını bilecektir. SuperUser'a hoş geldiniz.
soandos

3

Komut satırında:

for /f "delims=*" %a in ('dir *.html /b /s') do ren "%a" *.php

Not: *.htmlDiğer joker karakterleri değiştirebilirsiniz , örn d:\www\*.html.

Not 2: Komutu bir toplu iş dosyasında kullanıyorsanız %aile değiştirin %%a(nedenini sorma)


Neden söyledin "delims=*"?  "delims="İyi yeterince (yani, neden bir ayırıcı belirtebilirim olmalıdır *?
G-Man 'eski durumuna Monica' Diyor

1

Esnek Renamer, arama / değiştirmenin birkaç farklı türünü ele alacak mükemmel bir küçük programdır. Düzenli ifadeleri kabul eder ve önceden tanımlanmış ortak kalıplara sahiptir. Ayrıca, alt klasörlere öğe eklemenize veya klasörlerin kendileri üzerinde çalışmanıza olanak tanır. Ayrıca, yapılacak tüm değişikliklerin bir önizlemesini sunar. Yıllardır kullandım ve kesinlikle tavsiye ederim.

http://download.cnet.com/Flexible-Renamer/3000-2248_4-28799.html



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.