Сценарій DOS для перейменування файлів

Якщо в документі є декілька файлів, яким користувач хоче змінити розширення, людина може використовувати команду batch, яка змінить розширення всіх подібних файлів на бажане розширення. Наприклад, якщо потрібно змінити файли з розширенням .avi на .bmp, потрібно дати два аргументи з розширенням 'from' і розширенням 'до'. Якщо ім'я файлу test.bat, команда повинна виглядати приблизно так: test * .avi * .bmp. Ця команда змінить всі файли розширення .avi на файли розширення .bmp. Крім того, завантажте бітершип з biterscripting.com, щоб змінити розширення файлів.

Проблема

Я хотів би знати, які пакетні команди я можу використовувати для перейменування файлів у каталозі, який називається gbr1w001data_transfer_gb77 $

 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 

В основному я хотів би скинути 7 символів на початку файлу і вставити MSG_IN_ після наступних 14 символів.

Будь ласка, допоможіть!

Рішення

Для

 / r %% x в (% 1) робити ren "%% x"% 2 

Це буде перейменовувати файл рекурсивно :-)

  • Збережіть у файлі 2 аргументи з розширення та розширення.
  • ex: ім'я файлу test.bat
  • Команда: test * .avi * .bmp

Він перейменує всі файли з розширенням avi на bmp (у всіх підпапках).

Рішення 2

Наступний скрипт бітерписів зробить саме це. Щоб завантажити безкоштовну бітерписку, перейдіть на їх веб-сайт за адресою biterscripting.com

Збережіть скрипт у файлі C: /X.txt. Почніть інтерактивний бітершипінг і викличте скрипт так:

 скрипт "C: /X.txt" dir ("" gbr1w001 "_transfer_gb77 ") шаблон (" INVPRT_ ") 

Всі dir, ім'я файлу, шаблон є прикладами, використовуйте власні.

Ви можете викликати цей сценарій на будь-якому описаному вами шаблоні. Або можна створити основний сценарій, щоб повторно викликати цей сценарій для кожного шаблону. Ви можете зробити це в пакетному режимі, викликавши бітрейспинг

з іншої програми або DOS.

stex = рядок екстрактор, chex = символ extracter, chin = символ вставки, -p = зберегти оригінальний рядок, ] = до і в тому числі, і т.д. Зробіть допомогу з команд, щоб отримати деталі. Це досить потужні команди редактора.

Сена

 # ПОЧАТОК СКРИПТУ # Оголосити аргументи введення. var str dir pattern # Зберіть список файлів, що відповідають шаблону. var str list знайти -f $ pattern $ dir> $ list # Список файлів знаходиться у списку $. Процес один за одним. while ($ list "") робити # Отримати наступний файл. var str файл, шлях, old_name, new_name lex "1" $ list> $ file # Видалити шлях. Це дасть нам лише ім'я файлу в $ old_name. stex -p "^ / ^ l [" $ file> $ old_name # Після (але виключаючи) останнього / # Відкинути перші 7 символів. chex -p "7]" $ old_name> $ new_name # Вставити MSG_IN_ після 14 символів. chin "14" "MSG_IN_" $ new_name> null # Ми використовуємо> null, тому що ми не хочемо бачити вихід # Ми хочемо вставити MSG_IN_ в $ new_name (таким чином, не -p варіант). сценарій SS_SlashBack.txt ospath ($ file)> $ file # Перейменувати $ file в $ new_name система перейменувати $ file $ new_name # END OF SCRIPT 

Примітка

Завдяки satya за цей відгук на форумі.

Попередня Стаття Наступна Стаття

Кращі Поради