2016-07-05 7 views
1

これは私が "!"でXMLファイルを読み書きします。文字

for /f "usebackq delims=" %%a in (%CONF_DIR%\process-conf.xml) do (
    echo %%a) 

ファイルを読み書きするために、このコードを使用して、これは私が

<//www.springframework.org/dtd/spring-beans.dtd"> 

新しいファイルを書くとき、私は「推測結果であるxmlファイル

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> 

です! "誰かがこれを行う方法を知っていますか?私はこれをするために多くの時間を費やしてきました。

+1

どのようにSalesforceに関連していますか?あなたが間違ったタグを付けたようです –

+1

[遅延の拡張](http://ss64.com/nt/delayedexpansion.html)が有効になっていますか? 'for'変数' %% a'の展開中に無効にする必要があります。それ以外の場合は、遅延拡張機能によって '!'が消費されます。 – aschipfl

+2

一括して実行しないでください。 XMLパーサを使用します。 '<!'は 'XML'の中で特別な意味を持ちます - これはあなたがそれに乗り越えることができる多くの方法の一つです。あなたが達成しようとしていることの概要を説明し、より良い解決策を提供することができます。 – Sobrique

答えて

0

forループパラメータを使用する場合、遅延拡張を無効にする必要があります。
遅延拡張が必要な​​場合は、それを切り替えることができます。

setlocal DisableDelayedexpansion 
for /f "usebackq delims=" %%a in (%CONF_DIR%\process-conf.xml) do (
    set "line=%%a" -- Here the delayed expansion have to be disabled 
    setlocal EnableDelayedexpansion 
    rem here you can use delayed expansion again 
    echo(!line! 
    endlocal 
) 
+0

ありがとう、それは仕事です。 – Kai

関連する問題