Renomeie o arquivo de lote do Windows para substituir% 20 caracteres por _

2

Eu tenho uma pasta com muitos arquivos que eu preciso renomear. O formato original, por exemplo, é ABC%20DEF%20GHI%20JKL.xyz . O que preciso fazer é substituir cada %20 por _ . Então, essencialmente, estou analisando os caracteres% 20 dos nomes dos arquivos e, em seguida, substituindo-os por um caractere _ de sublinhado.

Idealmente, gostaria de poder concluir isso com um script em vez de um aplicativo.

    
por GuessXYZ 21.01.2016 / 15:15

1 resposta

0

Windows Batch File Rename to Replace %20 Characters with _

I have a folder with a lot of files that I need to rename. The original format for example is ABC%20DEF%20GHI%20JKL.xyz. What I need to do is to replace each %20 with _. So essentially I'm parsing out the %20 characters from the file names and then replacing those with an underscore _ character.

Ideally I'd like to be able to complete this with a script rather than an application.

Aviso: Se você estiver perguntando onde começar a aprender como fazer isso com o comando batch e rename, essa pergunta será marcada como off-line tópico mais do que provável (consulte a resposta do Techie007 nos comentários abaixo da minha resposta).

Abaixo está um exemplo de script em lote que substitui todos os caracteres %20 dos nomes de arquivos e os substitui por todos os caracteres underbar \ underscore _ . Então você pode dar uma olhada e ver se isso lhe dá alguns pontos de partida também. Isso completará a tarefa que você está tentando realizar de outra forma, de acordo com sua pergunta, e qualquer uma das duas maneiras que podem ser interpretadas sem maiores esclarecimentos.

Vou postar alguns recursos para aprendizado abaixo do script em lote, e isso será adicional aprendizado

Exemplo de script em lote para analisar %20 e substituir por e underbar _ com lote para arquivos em um diretório específico.

@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
)

Leitura adicional e recursos

por 21.01.2016 / 15:45