1

バッチ ファイル スクリプトは初めてなので、バッチ スクリプトを使用してファイル内の文字を置き換えるスクリプトを開発する必要があります。

APP というファイルの「servername/ActionService.asmx,1」を「servername/ActionService.asmx,0」に置き換える必要があります。

コマンドだけで解決できる方法があれば教えてください。

4

6 に答える 6

2

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%
于 2013-07-08T22:12:12.357 に答える
1
@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つの方法。インプレースで更新できないため、選択内容を新しいファイルにリダイレクトする必要があります。

于 2013-07-09T00:36:15.240 に答える
1

これら 2 つの状態を行ったり来たりする場合は、ファイルの適切なファイルをコピーするためのいくつかのバッチ ファイル (例:actionService1.batと)と共に、異なる名前でファイルの 2 つのコピーを作成する方が簡単かもしれません。actionService2.batAPP

それ以外の場合は、この種のファイル操作に優れたWindows バージョンの Unix ツールsedおよびを入手することを検討してください。awk

于 2013-07-08T21:56:10.590 に答える
0

ここから 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
于 2013-07-09T08:49:09.383 に答える
0

簡単なGoogle検索を行うと、これが見つかりましたhttp://www.dostips.com/?t=Batch.FindAndReplace

于 2013-07-08T21:43:51.993 に答える