我有一个文件夹,里面有很多文件需要重命名。例如,原始格式是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
)