Toplu İş Dosyasında Benzer Adlara Sahip Klasörleri Birleştirme


0

Ben benzer adlara sahip bir dizindeki tüm klasörleri birleştirebilecek bir komut yazmaya çalışıyorum. Şimdi tüm bu klasörler benzersiz bir şekilde adlandırılmıştır, bu yüzden "benzer ad" kavramını klasörlerin ilk 5 karakterine dayandırabileceğinizi düşünüyorum.

klasör gibi görünecek

longyellowbus-092092301
longyellowbus-92382012
5fatmimn-324535232
hintout-239119393
hintout-2391038949
hintout-2983419101
dogscats-293457893
2dummerboy-9293982
2dummerboy-29848292

ve benzer adlara sahip tüm klasörleri bir klasörde birleştirmek istiyorum ve içindeki içeriğin bir kısmı aynı olacak, bu yüzden üzerine yazmak tamam. Yani temelde sonuç sonuç gibi görünecek.

longyellowbus-092092301
5fatmimn-324535232
hintout-239119393
dogscats-293457893
2dummerboy-9293982

Kısa çizgi sonundaki sayılar - aslında önemli değil, birleştirme işleminden sonra onları silmeyi deneyeceğim ve geriye kalan tek şey sadece temiz klasör adları.

longyellowbus
5fatmimn
hintout
dogscats
2dummerboy

Güdük ve yardımcı olacağınızı umuyorum. Bu sadece yazmakta olduğum daha büyük bir komutun bir parçası ve üzerinde durduğum kısmı.


Lütfen bunu not al superuser.com ücretsiz bir script / kod yazma servisi değildir. Bize şu ana kadar ne denediğinizi söylerseniz (zaten kullanmakta olduğunuz komut dosyalarını / kodu ekleyin) ve nerede kaldığınızı söylerseniz, belirli sorunlarda size yardımcı olabiliriz. Ayrıca okumalısınız Nasıl iyi bir soru sorabilirim? .
DavidPostill

Yanıtlar:


0

Aşağıdaki parti, dizin adlarını sınırlayıcıda bölerek dirseğin çıkışını ayrıştırır -, %% A ilk belirteçtir ve kalan%% B'dir. İlk belirteç gibi bir dir yoksa, yeniden adlandırılır, uzun adlı dir içeriğinin içeriğini yaparsa zorla taşınır ve daha sonra dir kaldırılır.
Ortamınıza uygun yolu düzenleyin.

@Echo off
pushd "C:\path\to\your\base\folder"
for /f "Tokens=1* Delims=-" %%A in (
  'Dir /B /AD *-*'
) Do If Not Exist "%%A" (
  Ren "%%A-%%B" "%%A"
) Else (
  Move /Y "%%A-%%B\*" "%%A\"
  RmDir "%%A-%%B"
)
PopD
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.