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

时间:2017-03-30 16:57:26

标签: encoding space

我正在写一个custom pluggable protocol handler,它基本上是以下批处理脚本:

main

但是,如果Windows资源管理器传递带有空格的UNC,则会使用%20而不是空格来访问脚本:

  

\组\组%20Micro \

而不是

  
    

\ Groups \ Group Micro \

  

你可以帮我找出一个批处理脚本代码段,将字符串中的“%20”替换为“”或“\”吗?

到目前为止,我找到Replace Percent with Bang in String,但它需要以某种方式用%%替换%,这是一项单独的任务。

非常感谢。

1 个答案:

答案 0 :(得分:1)

最后非常感谢Windows batch script url decoding我制作了所需的片段:

@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%"