Если у вас есть доступ к оболочке Windows, вы можете использовать:
@echo off
setlocal EnableDelayedExpansion
REM loop over all files in the cwd
for /f %%a in ('dir /a-d /b') do (
REM store this filename in a variable so we can do substringing
set ThisFileName=%%a
REM now take a substring
set ThisShortFileName=!ThisFileName:~0,255!
REM finally, the rename:
echo ren %%a !ThisShortFileName!
)
:EOF
endlocal
(Примечание. Я добавил эхо-сигнал перед командой переименования, чтобы вы могли визуально убедиться, что он работает, перед тем как его запустить. Работает на моем компьютере.)
Я уверен, что кто-то, кто сейчас находится на * nix box, мог бы сделать подобный скрипт для bash, но я застрял в мире Windows:)
Удачи!