2016-03-09 27 views
0

我正在Windows中編寫一個腳本,一個.BAT文件,用於替換:< abc>以abc。 但我在使用Angular括號字符時遇到問題。特殊字符<abc>,角度支架替換爲.BAT文件

這是腳本的樣子:

​​

但只得到了錯誤信息:The syntax of the command is incorrect.

D:\BACKUP>SET STRING=<ABCDEFG> 
+0

請學習如何正確格式化代碼;點擊'edit',然後點擊編輯器區域工具欄中的{}'按鈕,看它是如何工作的... – aschipfl

+0

我爲你編輯過。接受編輯。 – Raviteja

+2

逗號不是在批處理文件中分隔命令的有效方法。 –

回答

2

像Magoo說的那樣,特殊字符需要被轉義。
您可以使用插入符號,但您可以使用還援引

SET "STRING=<ABCDEFG>" 
SET "STRING=%STRING:<=%" 
SET "STRING=%STRING:>=%" 
ECHO String: "%STRING%" 

或者更好地利用延遲展開而不是擴大%,因爲延遲擴展可以處理任何內容。

SET "STRING=<ABCDEFG>" 
SET "STRING=!STRING:<=!" 
SET "STRING=!STRING:>=!" 
ECHO String: !STRING! 
+0

得到「系統找不到指定的文件 按任意鍵繼續......」下面的代碼。 ('type「%textFile%」)中設置「textFile = C:\ toolbase \ alm_utils_tmpl_dev \ 2016.1.0a \ abc.txt」 setlocal enableextensions disabledelayedexpansion 請參考 &打破^> 「%TEXTFILE%」「)做( SET 「STRING = 」 SET 「STRING =%STRING:<=%」 SET 「STRING =%STRING:> =%」 ECHO字符串:「% STRING%「 )暫停 – geetha

0

特殊字符,如轉向器需要用插入符因此被轉義:^<

%需要通過%逃脫:%%

&在一行上分隔命令。

+0

我無法替換文件中的字符串。@ echo off setlocal enableextensions disabledelayedexpansion set「textFile = C:\ toolbase \ alm_utils_tmpl_dev \ 2016.1.0a \ abc.txt」 for/f「delims =」%% i (「type」%textFile%「^&break ^>」%textFile%「')do( SET」STRING = 「 SET」STRING =%STRING:<=%「 SET」STRING =%STRING: > =%「 ECHO字符串:」%STRING%「 ) 暫停..輸出:系統找不到指定的文件。 按任意鍵繼續。 。 。 請幫忙 – geetha

+0

@geetha不要把代碼放到註釋裏,如果你有一個新的問題,隨意打開一個新的線程 – jeb