2015-09-08 39 views
1

我打電話我的批處理文件,如下傳遞包含逗號批處理文件中的參數和替換

example.bat「ABC,XYZ」現在

,批處理文件,我需要更換裏面逗號,%5c%2c

set var1=%1 
set var1=%var1:","=%5c%2c% 

我甚至嘗試

set var1=%var1:","=%%5c%%2c% 
set var1=%var1:,=%5c%2c% 

但沒有任何工作,它實際上在最後附加替代而不是逗號。另外,參數在最後用雙引號打印。

我期待的結果是:abc%5c%2c xyz

有人能幫助我解決這個問題?謝謝 !

回答

0

您需要延遲擴展。此外,要擺脫雙引號,您應該使用%~1而不是%1。你在百分號上加倍以顯示文字% s是正確的。

@echo off 
setlocal enabledelayedexpansion 

set var1=%~1 
set var1=!var1:,=%%5c%%2c! 

echo !var1! 
pause 
相關問題