我正在写一个custom pluggable protocol handler,它基本上是以下批处理脚本:
main
但是,如果Windows资源管理器传递带有空格的UNC,则会使用%20而不是空格来访问脚本:
\组\组%20Micro \
而不是
\ Groups \ Group Micro \
你可以帮我找出一个批处理脚本代码段,将字符串中的“%20”替换为“”或“\”吗?
到目前为止,我找到Replace Percent with Bang in String,但它需要以某种方式用%%替换%,这是一项单独的任务。
非常感谢。
答案 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%"