Encoding Windows批处理:将%20替换为空间

Encoding Windows批处理:将%20替换为空间,encoding,space,Encoding,Space,我正在编写一个批处理脚本,它基本上是以下批处理脚本: @ECHO off SET "FullPath=%~1" explorer.exe "%FullPath%" 但是,如果Windows资源管理器传递一个带有空格的UNC,它将以%20而不是空格进入脚本: \组\组%20Micro\ 而不是 \组\组微\ 请帮我找出一个将字符串中的“%20”替换为“”或“\”的批处理脚本片段,好吗 到目前为止,我找到了,但它需要以某种方式将%替换为%%,这是一项单独的任务 非常感谢。最后,非常感谢我编写了所需

我正在编写一个批处理脚本,它基本上是以下批处理脚本:

@ECHO off
SET "FullPath=%~1"
explorer.exe "%FullPath%"
但是,如果Windows资源管理器传递一个带有空格的UNC,它将以%20而不是空格进入脚本:

\组\组%20Micro\

而不是

\组\组微\

请帮我找出一个将字符串中的“%20”替换为“”或“\”的批处理脚本片段,好吗

到目前为止,我找到了,但它需要以某种方式将%替换为%%,这是一项单独的任务

非常感谢。

最后,非常感谢我编写了所需的代码片段:

@ECHO off

SET "FullPath=%~1"
REM ECHO %FullPath% & PAUSE

SETLOCAL ENABLEDELAYEDEXPANSION

SET FullPath=%FullPath:smb:=%
SET FullPath=%FullPath:/=\%
SET FullPath=!FullPath:%%20= !

REM ECHO %FullPath% & PAUSE

explorer.exe "%FullPath%"

此处回答:Windows资源管理器不对命令行上传递的文件名进行URL编码。您是如何获得这些文件名的?我打开Windows资源管理器,在地址输入字段中输入XXX:\\Groups\Group Micro\然后按enter键,它将调用批处理脚本,其中的XXX:\\Groups\Group%20Micro\不是所需的XXX:\\Groups\Group Micro\。不幸的是,它不包含替换百分比的方法(%)字符串中的字符。还有其他想法吗?