2016-08-11 2 views
0

Я осмотрелся, и есть много сообщений, очень похожих на это, но я не могу найти ответ, который будет работать для того, что мне нужно.пакет - закажите и переименуйте файлы в каталог

У меня есть большой список файлов с разными расширениями, которые я хочу переименовать в числа. Например

SomeFileName1.jpg 
SomeFileName2.gif 
SomeFileName3.mkv 

изменено на:

1.jpg 
2.gif 
3.mkv 

Я хочу, чтобы сохранить расширения то же самое. Только имя должно измениться до 1,2,3 и т. Д.

Некоторое время назад я нашел код, который переименовал все файлы (больше не имеет кода), но переименовал их в неправильном порядке. Например, «SomeFileName3.mkv» стал «1.mkv» вместо «3.mkv». Я не уверен, что мне нужно сначала их отсортировать? Я не очень хорошо разбираюсь в таких вещах, поэтому я действительно могу помочь. Спасибо

+0

Как вы определяете, какой заказ правильный заказ? – vielmetti

+1

0 Как вы определяете права и не в порядке? Это зависит от порядка сортировки - или вы просто переименовываете файлы, удаляя «файл» из имени. У вас есть лучший пример? – dbmitch

+0

имена все очень похожи и в порядке, у них просто разные расширения. –

ответ

0

использовать цикл for для обработки всех файлов. Используйте dir, чтобы отсортировать файлы по вашему запросу. Используйте счетчик. Используйте delayed expansion, чтобы заставить счетчик работать.

@echo off 
setlocal enabledelayedexpansion 
set count=0 
for /f "delims=" %%a in ('dir /b /on /a-d') do (
    set /a count +=1 
    ECHO ren "%%a" "!count!%%~xa" 
) 

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

Если результат удовлетворяет вас, удалите ECHO вооружить команду ren.

+0

работает отлично. Большое спасибо Стефану :) –

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