2012-02-23 7 views
0

xmlファイルにタブとスペースが入っています。このファイルで文字列を検索しようとしています。ファイルは以下のようなものです。 </ViewSettings>をタブとスペースで囲んで検索しようとしています。.bat - ファイル内の文字列を確認します。

<ViewSettings> 
    <Location> 
    <X>0</X> 
    <Y>0</Y> 
    </Location> 
</ViewSettings> 
<WorkspaceName="FREE_UST_BETA_UA" PAth="\\mktxindfs\data_configuration\FREE_BETA"  IsAdmin="false" /> 
</Workspaces> 

私はそれは、 "参照を見つけた"

おかげ

+0

バッチファイルまたはウィンドウコマンドラインツールを使用してこのタスクを行う必要がありますか?あなたは他のツールを利用できますか? –

答えて

2

を印刷しません

echo off 
setlocal enabledelayedexpansion 

for %%X in (C:\add\WorkspaceXML\Workspaces.xml) do (
set "reference=</ViewSettings>" 
for /f "delims=" %%T IN (%%X) do ( 
     set output=%%T 
     echo output:!output! 
     if !output!==!reference! echo found reference..... 
    ) 
) 

以下のコードを持っているあなたが代わりにfindstrのオフにあなたのバッチファイルを作成すると考えたことがありますか?このコマンドは、文字列がファイル内にあったかどうかをファイル名で報告します。

findstr /M /c:"</ViewSettings>" C:\add\WorkspaceXML\Workspaces.xml 

EDIT

あなたの代わりにfindstr /N /O ...を使用する場合は、行番号を取得することができますし、多分それはあなたにもっと使用されるであろう、試合(ES)のオフセット。あなたの場合の出力は、上記2

が適切dbenhamに感謝の上に追加されるオフセット

6:69:</ViewSettings> 

EDITだろう。オフセットあなたにまだ使用のですが、VARSで両方の値を取得するかどうかわからない、これを試してみてください。

FOR /F "tokens=1,2 delims=:" %%a in ('findstr /N /O /c:"</ViewSettings>" C:\add\WorkspaceXML\Workspaces.xml') do echo %%a %%b 

これはただもちろん、あなたのためのVARSを表示しますが、必要に応じて、あなたはそれらを設定することができます。

+0

こんにちはアダム、はい、私はこれを考えましたが、ファイル内のこの文字列の正確な位置を教えてもらえませんでした。私はファイル内でこのStringの後にいくつかの操作を行う必要があります。ありがとう。 – NewQueries

+0

@NewQueries - 上記で更新されました。 –

+0

これは素晴らしいです、これは私のコンソール出力ですか?変数の中でこの値を得る方法はありますか?(主に行番号) – NewQueries

関連する問題