Пакетное переименование Windows для замены%20 символов на _

У меня есть папка с большим количеством файлов, которые мне нужно переименовать. Исходный формат, например, ABC%20DEF%20GHI%20JKL.xyz, Что мне нужно сделать, это заменить каждый %20 с _, По сути, я анализирую символы%20 в именах файлов, а затем заменяю их символами подчеркивания. _ персонаж.

В идеале я хотел бы иметь возможность завершить это с помощью сценария, а не приложения.

1 ответ

Пакетное переименование Windows для замены%20 символов на _

У меня есть папка с большим количеством файлов, которые мне нужно переименовать. Исходный формат, например, ABC%20DEF%20GHI%20JKL.xyz, Что мне нужно сделать, это заменить каждый %20 с _, По сути, я анализирую символы%20 в именах файлов, а затем заменяю их символами подчеркивания. _ персонаж.

В идеале я хотел бы иметь возможность завершить это с помощью сценария, а не приложения.


Предупреждение: если вы спрашиваете, с чего начать, чтобы узнать, как это сделать с помощью команды batch and rename, тогда этот вопрос будет помечен как не по теме ( скорее всего, это не так) (см. Ответ Techie007 в комментариях под моим ответом).


Ниже приведен пример пакетного сценария, который заменяет все %20 символы из имен файлов и заменяет их всеми символами подчеркивания \ подчеркивания _ персонажи. Таким образом, вы можете посмотреть на это и посмотреть, даст ли это вам некоторые отправные точки. Это завершит задачу, которую вы выполняете в противном случае, согласно вашему запросу, и любой из двух способов интерпретации без дополнительных разъяснений.

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


Пример пакетного скрипта для разбора %20 и заменить на и нижнюю часть _ с пакетом для файлов в определенном каталоге.

@ECHO ON
SETLOCAL DISABLEDELAYEDEXPANSION

SET rendir=C:\Path\FolderPath\WithFilesToRename
FOR /F "USEBACKQ DELIMS=" %%N IN (

`DIR /A-D /B "%rendir%"`

) DO (

    SET "Var=%%~NXN"
    SETLOCAL ENABLEDELAYEDEXPANSION
    SET "Orig=!Var!"
    SET "Var=!Var:%%20=_!"

  IF NOT "!Var!"=="!Orig!" (
    IF NOT EXIST "%%~DPN!Var!" (
      REN "%rendir%\!Orig!" "!Var!"

) ELSE (
    GOTO EOF
)
)
  ENDLOCAL
)

Дальнейшее чтение и ресурсы

Другие вопросы по тегам