2014-02-21 48 views
1

我想用空格()替換下劃線(_)以形成字符串。但是我寫的批處理不能讀取管道(|)字符。我曾嘗試在每個PIPE之前放置(^)字符,但它不起作用。以下是我試過的腳本。無法讀取批處理文件中的管道字符

@ECHO OFF 
set string=Transaction_Type|Spend_Source_System|Event_ID 
set string1=Transaction Type|Spend Source System|Event ID 
set string=%string1% 
ECHO %string% 
pause 

回答

2

試試這個:

@ECHO OFF 
set "string=Transaction_Type|Spend_Source_System|Event_ID" 
set "string=%string:_= %" 
ECHO "%string%" 
pause 
+0

感謝foxdrive。它的工作:D – PSP

0
@ECHO OFF 
SETLOCAL 
set "string=Transaction_Type^|Spend_Source_System^|Event_ID" 
set "string1=Transaction Type^|Spend Source System^|Event ID" 
set "string=%string1%" 
ECHO %string% 
endlocal 
SETLOCAL 
set "string=Transaction_Type^|Spend_Source_System^|Event_ID" 
set "string=%string:_= %" 
ECHO %string% 

GOTO :EOF 

是啊 - 「提斯有點棘手...

+0

它的工作:D。謝謝你Magoo。 – PSP

0

我建議foxidrive的解決方案的第一部分,但對於輸出,我會使用延遲擴展,因爲您不再需要在字符串周圍引用引號。

@ECHO OFF 
setlocal EnableDelayedExpansion 
set "string=Transaction_Type|Spend_Source_System|Event_ID" 
set "string=!string:_= !" 
echo !string! 
相關問題