Windows 批处理文件重命名以将 %20 字符替换为 _

Windows 批处理文件重命名以将 %20 字符替换为 _

我有一个文件夹,里面有很多文件需要重命名。例如,原始格式是ABC%20DEF%20GHI%20JKL.xyz。我需要做的是将每个%20文件替换_为 。因此,本质上,我从文件名中解析出 %20 字符,然后用下划线字符替换它们_

理想情况下,我希望能够使用脚本而不是应用程序来完成此操作。

答案1

Windows 批处理文件重命名以将 %20 字符替换为 _

我有一个文件夹,里面有很多文件需要重命名。例如,原始格式是ABC%20DEF%20GHI%20JKL.xyz。我需要做的是将每个%20文件替换_为 。因此,本质上,我从文件名中解析出 %20 字符,然后用下划线字符替换它们_

理想情况下,我希望能够使用脚本而不是应用程序来完成此操作。


警告:如果你问从哪里开始学习如何使用批处理和重命名命令执行此操作,那么这个问题将被标记为无关很有可能(请参阅我的答案下方的评论中的 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
)

进一步阅读和资源

相关内容