バッチ ファイル スクリプトは初めてなので、バッチ スクリプトを使用してファイル内の文字を置き換えるスクリプトを開発する必要があります。
APP というファイルの「servername/ActionService.asmx,1」を「servername/ActionService.asmx,0」に置き換える必要があります。
コマンドだけで解決できる方法があれば教えてください。
バッチ ファイル スクリプトは初めてなので、バッチ スクリプトを使用してファイル内の文字を置き換えるスクリプトを開発する必要があります。
APP というファイルの「servername/ActionService.asmx,1」を「servername/ActionService.asmx,0」に置き換える必要があります。
コマンドだけで解決できる方法があれば教えてください。
GNUWin32 sedを使用できます:
@ECHO OFF &SETLOCAL
set "string=servername/ActionService.asmx,1"
FOR /f %%a IN ('echo "%string%" ^| sed "s/[0-9]/0/"') DO set "newstring=%%~a"
ECHO %newstring%
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
:: Way the first - suppresses emptylines
FOR /f "delims=" %%i IN (app) DO SET line=%%i&set line=!line:servername/ActionService.asmx,1=servername/ActionService.asmx,0!&ECHO(!line!
ECHO ====================
:: Way the second
FOR /f "delims=" %%i IN ('type app^|findstr /n "$"') DO (
SET line=%%i
set line=!line:servername/ActionService.asmx,1=servername/ActionService.asmx,0!
SET line=!line:*:=!
ECHO(!line!
)
ECHO ====================
GOTO :EOF
ここで2つの方法。インプレースで更新できないため、選択内容を新しいファイルにリダイレクトする必要があります。
これら 2 つの状態を行ったり来たりする場合は、ファイルの適切なファイルをコピーするためのいくつかのバッチ ファイル (例:actionService1.bat
と)と共に、異なる名前でファイルの 2 つのコピーを作成する方が簡単かもしれません。actionService2.bat
APP
それ以外の場合は、この種のファイル操作に優れたWindows バージョンの Unix ツールsed
およびを入手することを検討してください。awk
ここから repl.bat というヘルパー バッチ ファイルを使用する: http://www.dostips.com/forum/viewtopic.php?f=3&t=3855
type app |repl "servername\/ActionService.asmx,1" "servername/ActionService.asmx,0" >appnew.txt
簡単なGoogle検索を行うと、これが見つかりましたhttp://www.dostips.com/?t=Batch.FindAndReplace