Переименовать несколько файлов без скобок удаление скобок окна

Я хочу переименовать большое количество файлов в порядке возрастания чисел, начиная с любого места. Но когда я переименовываю несколько файлов, у меня остаются круглые скобки. например, я переименовываю файлы в abc_.jpeg это приводит к abc_ (1).jpeg, ABC (2).JPEG и так далее.

Я попытался с помощью командной строки переименовать

ren abc_(*).jpeg abc_*.jpeg
не работает. вероятно, из-за скобок

ren abc_"("*")".jpeg abc_*.jpeg
переименовывает файлы, но приводит к тому же имени файла, как и раньше. Я просто хотите как-то удалить скобки.

3 ответов


чтобы удалить скобки, вам придется выполнить некоторые манипуляции со строками. Для этого я написал пакетный файл (save as .bat)

cd C:\folder
setlocal enabledelayedexpansion
for %%a in (abc_*.jpeg) do (
set f=%%a
set f=!f:^(=!
set f=!f:^)=!
ren "%%a" "!f!"
)

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


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

пример: нам нужен шаблон "test_xxx". С помощью проводника переименуйте файлы в " tes (1000)". Теперь ваши файлы будут называться ["tes(1000)", "tes(1001)", "tes(1002)" и т. д..]. Удерживайте SHIFT и вправо нажмите в открытой области проводника, затем выберите "Открыть командное окно здесь". Выполните следующую команду:

ren *.* test_???.*

это переименует все файлы в соответствующий формат ["test_000", "test_001", "test_002" и т. д..].


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

скопируйте и вставьте код в блокнот и сохраните его как sequentialFileNameCleaner.летучая мышь!--9-->

ваше имя файла должно совпадать с тем, что написано в первой строке sequentialFileNameCleaner.летучая мышь!--6-->. Что при этом вы можете вручную обновить первую строку, если хотите изменить имя файла.

:sequentialFileNameCleaner  [/R]  [FolderPath]
setlocal enabledelayedexpansion
for %%a in (*.jpg) do (
set f=%%a
set f=!f:^(=!
set f=!f:^)=!
ren "%%a" "!f!"
)
@echo off
setlocal disableDelayedExpansion
if /i "%~1"=="/R" (
  set "forOption=%~1 %2"
  set "inPath="
) else (
  set "forOption="
  if "%~1" neq "" (set "inPath=%~1\") else set "inPath="
)
for %forOption% %%F in ("%inPath%* *") do (
  if /i "%~f0" neq "%%~fF" (
    set "folder=%%~dpF"
    set "file=%%~nxF"
    setlocal enableDelayedExpansion
    echo ren "!folder!!file!" "!file: =!"
    ren "!folder!!file!" "!file: =!"
    endlocal
  )

)

по умолчанию, этот код будет только найти .файл JPG. На 3-й строке измените (*.jpg) to (*.png) или (*.mp4) или любое расширение, которое вы хотите, будет сделать код совместимым.