Я нашел здесь этот скрипт и изменил его. Он работает только для 1 файла одновременно, а не для нескольких файлов. Как я могу заставить этот скрипт переименовать несколько файлов в указанном каталоге?переименовать несколько файлов со сценарием
@echo off
setlocal enabledelayedexpansion
set X=64
set Y=4
set FOLDER_PATH=c:\temp\renamefiles\files
pushd %FOLDER_PATH%
for %%f in (*) do if %%f neq %~nx0 (
set "filename=%%~nf"
set "filename=!filename:~%X%,-%Y%!"
ren "%%f" "!filename!%%~xf"
)
popd
Я не понимаю, что вы имеете в виду - сценарий переименовывает ВСЕ файлы в FOLDER_PATH (но не файл с именем скрипта - странно!). И это независимо от того, содержит ли имя файла заменяемое письмо или нет. Я бы написал новый скрипт с нуля, который сначала фильтрует файлы, которые нужно переименовать, а затем переименовывает только те. – user1016274
Вы пробовали PowerShell? 'gci" c: \ temp \ renamefiles \ files \ "| ren {$ _. Name.SubString (64, $ _. Name.Length-60)} ' – TessellatingHeckler
Оказывается, скрипт отлично работает. Я не обращал внимания на 2 файла, которые я установил в папку для тестирования, у них получилось одно и то же имя. Виноват. Тем не менее, мне очень нравится сценарий PowerShell, бум! Теперь у меня есть 2 разных способа переименования файлов! –