0
私は、特定のバインディング名(私の場合はCustomBinaryBinding)に対してhttpTransport要素をhttpsTransportに更新するバッチスクリプトを用意しています。 もっとエレガントで効率的な方法で書くにはどうすればいいですか?特定のxml要素の最適化を変更するバットファイル
batファイル:
@echo off
setlocal enabledelayedexpansion
set "search=httpTransport"
set "replace=httpsTransport"
set "bindingName=CustomBinaryBinding"
set INTEXTFILE=C:\Users\tudor\Desktop\batch\web.config
set OUTTEXTFILE=C:\Users\tudor\Desktop\batch\webTemp.config
echo start
(for /f "delims=" %%i in (!INTEXTFILE!) do (
set "line=%%i"
for /f tokens^=1^,2^,3^ delims^=^<^"^= %%a in ("%%i") do (
if "%%b" equ "binding name" if "%%c" equ "CustomBinaryBinding" (
set "insideCorrectBinding=y"
)
for /f "delims= " %%m in ("%%b") do (
if "%%m" equ "httpTransport" (
set "onCorrectLine=y"
)
)
)
if !insideCorrectBinding! equ y if !onCorrectLine! equ y (
set "line=!line:%search%=%replace%!"
set "onCorrectLine="
set "insideCorrectBinding="
)
echo(!line!
)
)>"%OUTTEXTFILE%"
のweb.config:
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding name="CustomBinaryBinding">
<binaryMessageEncoding />
<httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />
</binding>
</customBinding>
<customBinding>
<binding name="CustomBinaryBinding2">
<binaryMessageEncoding />
<httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="../../PlatformAdminUtil.svc"
binding="customBinding" bindingConfiguration="CustomBinaryBinding"
contract="PlatformAdminUtil.PlatformAdminUtil" name="CustomBinding_PlatformAdminUtil" />
<endpoint address="../../EntityAccess.svc"
binding="customBinding" bindingConfiguration="CustomBinaryBinding"
contract="PlatformEntityAccess.EntityAccess" name="CustomBinding_EntityAccess" />
<endpoint address="../../EntityAdminAccess.svc"
binding="customBinding" bindingConfiguration="CustomBinaryBinding"
contract="PlatformEntityAdminAccess.EntityAdminAccess" name="CustomBinding_EntityAdminAccess" />
<endpoint address="../../LogErrorService.svc"
binding="customBinding" bindingConfiguration="CustomBinaryBinding"
contract="LoggerService.LogErrorService" name="CustomBinding_LogErrorService" />
</client>
</system.serviceModel>
</configuration>
は、私には正常に見える、適切なクエリメカニズムです。何が間違っていると思いますか? – SomethingDark