Dosyaları yeniden adlandırmak için DOS komut dosyası

Bir kullanıcının uzantısını değiştirmek istediği bir belgede birden fazla dosya varsa, kişi benzer tüm dosyaların uzantısını istenen uzantıya değiştirecek olan bir toplu komut kullanabilir. Örneğin, .avi uzantılı dosyaları .bmp olarak değiştirmek istiyorsa, 'dan' uzantısına ve 'dan' uzantısına iki argüman vermeniz gerekir. Dosya adı test.bat ise, komut şöyle görünmelidir: test * .avi * .bmp. Bu komut tüm .avi uzantılı dosyaları .bmp uzantılı dosyalara değiştirir. Alternatif olarak, dosya uzantılarını değiştirmek için biterscripting.com adresinden biterscripting'i indirin.

Konu

\ Gbr1w001data_transfer_gb77 $ adlı dizindeki dosyaları yeniden adlandırmak için hangi toplu komutları kullanabileceğimi bilmek istiyorum.

 INVPRT_5023949000004_20080818061329_0000979.GB ---> 5023949000004_MSG_IN_20080818061329_0000979.GB PPRHDR_5000119000006_20080721061424_00000981.GB_m ---> 5000119000006_MSG_IN_20080721061424_00000981.GB_m SLSRPT_5023949000004_20080721061317_00000978.GB ---> 5023949000004_MSG_IN_20080721061317_00000978.GB 

Temelde dosyanın başına 7 karakter bırakmak ve sonraki 14 karakterden sonra MSG_IN_ eklemek istiyorum.

Lütfen yardım et!

Çözüm

İçin

 / r %% x in (% 1), "%% x"% 2 ren 

Bu dosyayı yinelemeli olarak yeniden adlandırır :-)

  • Bir dosyaya kaydetme, uzantıdan uzantıya 2 bağımsız değişken verir.
  • örn .: dosya adı test.bat
  • komut: test * .avi * .bmp

Avi uzantılı tüm dosyaları (tüm alt klasörlerde) bmp olarak değiştirir.

2. Çözüm

Aşağıdaki parçalama komut dosyası tam olarak bunu yapacak. Bikterscripting'i ücretsiz indirmek için, biterscripting.com adresindeki web sitesine gidin.

Komut dosyasını C: /X.txt adlı bir dosyaya kaydedin. İki bölümlü etkileşimli etkileşime başla ve betiği tam olarak şu şekilde çağır:

 komut dosyası "C: /X.txt" dir ("\ gbr1w001 \ data_transfer_gb77") desen ("INVPRT_") 

Tüm dir, dosya adı, kalıp örneği, kendi kodunuzu kullanın.

Bu betiği tarif ettiğiniz herhangi bir desende çağırabilirsiniz. Veya, bu betiği her desen için tekrar tekrar çağırmak için bir ana betiği oluşturabilirsiniz. Bunu, biterscripting'i çağırarak parti modunda yapabilirsiniz.

başka bir programdan veya DOS'tan.

stex = string çıkarıcı, chex = karakter çıkarıcı, çene = karakter yerleştirici, -p = orijinal dizgiyi koru, ] = up ve dahil, vb. Ayrıntıları almak için komutlarda yardım yapın. Bunlar oldukça güçlü editör komutlarıdır.

You are

 # SCRIPT START # Girdi argümanlarını bildir. var str dir pattern # Desene uyan dosyaların listesini toplayın. var str list find -f $ kalıbı $ dir> $ list # Dosyaların listesi $ listesindedir. Bir seferde bir işlem. while ($ list "") yapın # Bir sonraki dosyayı alın. var str dosyası, yol, eski_adı, yeni_adı lex "1" $ list> $ dosya # Yolu kaldır. Bu bize $ old_name içindeki dosya adını verecektir. stex -p "^ / ^ l [" $ dosya> $ old_name # Son / # işaretinden sonra (ancak hariç) İlk 7 karakteri bırakın. chex -p "7]" $ old_name> $ new_name # 14 karakterden sonra MSG_IN_ ekleyin. çene "14" "MSG_IN_" $ new_name> null #> null kullanıyoruz çünkü çıktısını görmek istemiyoruz # MSG_IN_ öğesini $ new_name içine eklemek istiyoruz (böylece -p seçeneği yok). script SS_SlashBack.txt ospath ($ dosya)> $ dosya # $ dosyayı $ new_name sisteme yeniden adlandır $ $ dosya $ new_name # SCRIPT adını değiştir 

Not

Forumdaki bu ipucu için satya'ya teşekkür ederiz.

Önceki Makale Sonraki Makale

En Ipuçları