Пакетный файл, чтобы уменьшить длину имени файла - PullRequest
1 голос
/ 13 сентября 2010

я загружаю имена файлов, как это .. batchengine-6099-1283555555-60054_20100910_0006.era и хочу переименовать их в 60054_20100910_0006.era.Имена меняются, но формат один и тот же, требуется оператор для переименования всех больших файлов, заканчивающихся на .era

1 Ответ

1 голос
/ 13 сентября 2010

У меня нет доступа к коробке с Windows, но что-то вроде:

SETLOCAL EnableExtensions EnableDelayedExpansion
FOR %%I IN (batchengine-*.era) DO (
    SET NAME=%%~nI
    RENAME "%%I" "!NAME:~28!%%~xI"
)
ENDLOCAL

Тип FOR /?, SET /? и SETLOCAL /? в консоли для всех деталей о синтаксисе.Надеюсь, у меня есть что-то довольно близкое.Вам необходимо ввести новые переменные в цикле, чтобы вы могли получить доступ к расширенному синтаксису для подстрочного индекса - например, !NAME:~28! выбирает подстроку, начинающуюся с символа 28. !NAME! является ссылкой на отложенное расширение.Необходимость этого объясняется на одной из страниц краткого изложения команд.

...