Я автоматизирую преобразование программных токенов RSA и передаю строку преобразования в Outlook. Я понимаю, что не могу преобразовать строку в URL-адрес, используя командную строку пакетного просмотра, однако это не моя проблема. Моя проблема заключается в преобразовании надоедливого знака равенства в его эквивалент в кодировке URL «% 3D».
@echo off
setlocal enableDelayedExpansion
set /p fname=Enter the Filename:
set /p pss=Enter the encryption pass:
IF NOT EXIST "%fname%".sdtid (
echo File Not Found! Closing...
PING 1.1.1.1 -n 4 >NUL
exit
)
echo File Found! starting process...
REM tokenconverter %fname%.sdtid -iphone >> temp_batch.txt
tokenconverter %fname%.sdtid -p %pss% -iphone >> temp_batch.txt
set /p result= < temp_batch.txt
DEL temp_batch.txt
REM %result% | clip
set "stringclean1=!result:?=%%3F!"
set "stringclean2=!stringclean1::=%%3A!"
set "stringclean3=!stringclean2:/=%%2F!"
В следующей строке не удается закодировать знак равенства:
set "stringclean4=!stringclean3:==%%3D!"
Я пробовал:
set "stringclean4=!stringclean3:=^=%%3D!"
set "stringclean4=!stringclean3:=%=%%3D!"
Однако знак равенства остается незакодированным.
echo Piping over to outlook..
REM passing stringclean3 since stringclean4 no worky.
pushd "C:\Program Files\Microsoft Office\Office12"
outlook.exe /c ipm.note /m "&subject=TEsT&body=%stringclean3%"
Каков правильный способ URL-кодирования знака равенства с использованием отложенного расширения переменной?
Любая помощь приветствуется. Заранее спасибо.