Пакетное переименование нескольких файлов с повторяющимися символами - PullRequest
0 голосов
/ 21 марта 2019

Как мне переименовать несколько файлов, которые содержат "_" или "__"?

Проблема1 решена мной.
Имя файла выглядит так:

any1_any2_any3_any4_any5_any6_any7_etc.txt

любой может быть цифрой или буквой, может быть больше 7 любой группы
В конце мне это нужно, только первые 6 групп:

any1_any2_any3_any4_any5_any6.txt

Мое решение:

@echo off
setlocal enabledelayedexpansion
if exist %tmp%\temp.tmp del %tmp%\temp.tmp
dir /b *.txt >%tmp%\temp.tmp
for /F "tokens=1-17 delims=_" %%a in (%tmp%\temp.tmp) do (
   ren "%%a_%%b_%%c_%%d_%%e_%%f_*"  "%%a_%%b_%%c_%%d_%%e_%%f.txt"
)
if exist %tmp%\temp.tmp del %tmp%\temp.tmp

задачи2:
Иногда вместо одного "_" у меня есть двойное "__", позиция не фиксируется.

any1_any2_any3__any4_any5_any6_any7_etc.txt

Моя партия не работает в такой ситуации
Результат должен быть одинаковым:

any1_any2_any3__any4_any5_any6.txt

Thanx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...