2017-02-17 3 views
0

У меня есть имена файлов в каталоге в формате Mumbai Short Call Agentwise-MUMBAI SHORT CALL-3-01092016. Я хотел бы удалить все после второго дефиса и сохранить первую часть имени файла.пакетный файл для получения имени файла до указанного символа

Есть ли хороший сайт, который может направить меня на то, как это сделать? Или, может быть, один из вас, специалист по пакетной вечеринке, может привести меня к тому, как это сделать?

+2

Я предлагаю вам удалить часть, прося хорошего веб-сайта и сосредоточиться на помощи по актуальной проблеме со стороны сообщества. Вопросы, предлагающие нам рекомендовать или находить книгу, инструмент, библиотеку программного обеспечения, учебник или другой ресурс вне сайта, не относятся к теме для переполнения стека. – wkl

ответ

1
for /f "tokens=1,2,* delims=-" %%a in ('dir /b *-*-*') do @ECHO ren "%%a-%%b-%%c" "%%a-%%b%%~xc" 

для каждого файла с заданной маской *-*.*: получить первый (%%a) и вторую частью (%%b), а также расширение покоя (отдых: %%c; Расширение остальные: %%~xc)

Примечания: - если вы сокращаете имена файлов, помните о возможных дубликатах!
@ECHO только перечисляет команды переименования. Удалить @ECHO, если результат удовлетворяет вы

См for /? или for /f для получения дополнительной информации

+0

если мои файлы находятся в D: \ NewFolder, то какие изменения должны быть сделаны в этом случае - для/f "tokens = 1,2, * delims = -" %% a in ('dir/b * - * - *') do @ECHO ren "%% a - %% b - %% c" "%% a - %% b %% ~ xc" – Roy

+1

самый простой способ: 'cd/d" d: \ NewFolder "' before. Лучший способ: 'pushd 'd: \ NewFolder" 'before и' popd' после. – Stephan

 Смежные вопросы

  • Нет связанных вопросов^_^