Пакетное переименование 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
)