У меня есть файлы в папке с именем unix_aaa.txt unix_bbb.txt unix_ccc.txt и так далее.

Как я могу изменить все файлы, которые начинаются с unix на имена, такие как

001_unix_aaa.txt

002_unix_bbb.txt

003_unix_ccc.txt

2 ответа2

1

Это для раковин Борна.

n=1; for f in unix*
do
    mv "$f" "`printf %03d $n`_$f"
    n=$((n+1))
done
1

Вот пакетный (Windows) скрипт, который сделает это

setlocal enabledelayedexpansion
set n=1
for %%a in (unix_*.txt) do (
if !n! lss 10 (
ren "%%a" "00!n!_%%a"
) else (
if !n! lss 100 (
ren "%%a" "0!n!_%%a"
) else (
if !n! geq 100 (
ren "%%a" "!n!_%%a"
)
)
)
set /a n+=1
)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .