2012-06-27 7 views
3

У нас есть несколько тысяч файлов в папку с именем, как это:Пакетный файл для переименования файлов

EXP_10000021.XM_ 

И нужно снять ведущую 1 так, новое имя файла:

EXP_0000021.XM_ 

Я не очень хорошо разбираюсь в пакетных файлах - любая помощь будет оценена!

+0

В каждом файле содержится «1»? – mrd

+0

Вы специально хотите пакетный файл Windows (DOS) или unix? –

ответ

7

Если ваши имена начинаются с EXP_1, это легко.

setlocal EnableDelayedExpansion 
for %%A in (EXP_1*.XM_) do (
    set "filename=%%A" 
    set "newName=EXP_!filename:~5!" 

    rem ** remove the ECHO when it seems to work 
    ECHO ren !filename! !newName! 
) 
+0

Скопировал ваш код в тестовую папку, а затем добавил кучу файлов с именем EXP_10000021.XM_ в EXP_10000028.XM_. Щелкнул файл .bat, и ничего не произошло. – Brian

+0

Вы удалили 'ECHO' перед' ren'? – jeb

+0

Нет - сказал, что я не умею работать в пакетных файлах! Большое спасибо! Мой менеджер хотел, чтобы я переименовал сотни файлов вручную - Awesome !!!! – Brian

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