したがって、3つの引数を取るスクリプトを作成したいと思います。ファイルへのパス、置き換える正確なWord、そして何を置き換えるかです。そのようなものをどのように作成するのですか?
一般的に私はそれがこのようなAPIを持っていることを望みます:
script.bat "C:/myTextDoc.xml" "_Word_TO_REPLACE_" "WordTo Use"
私は人生で2つのバッチスクリプトのようなものを書いていますが、コマンドラインから入力を取得する方法は次のとおりです。
script.bat filepath find replace
%1 = filepath, %2 = find, %3 = replace
置換を行うには、次のようにします。
for /f "tokens=1,* delims=]" %%A in ('"type %1|find /n /v """') do (
set "line=%%B"
if defined line (
call set "line=echo.%%line:%~2=%~3%%"
for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X
) ELSE echo.
)
(@russによって投稿されたリンクから直接取得され、変数番号が変更されています。)
これでうまくいくと思います。
fnrユーティリティは、正規表現に基づいて検索および置換できるため、他の有名なユーティリティよりも優れています。また、UI愛好家のために、UIでオプションを構成し、スクリプトで使用できるコマンドライン文字列を生成できます。コマンドライン攪拌としても非常に使いやすいです。
ここでそれを見つけてください http://findandreplace.codeplex.com/
また、依存関係のない単一のexeなので、使いやすいです。
例:
fnr --cl --dir "" --fileMask "hibernate.*" --useRegEx
--find "find_str_expression" --replace "replace_string"
簡単なグーグル検索はこれを見つけました: