1

次のことを実行する必要があります。

  • テキストを含む .xml ファイルのフォルダーがあります
  • 特定の xml ペアを検索し、それらの値を取得する必要があります
  • そのフォルダー内のすべての .xml ファイルを繰り返し処理し、必要な値だけを含む単一のファイルに結果を出力する必要があります。

.bat ファイルを使用してそれを行うにはどうすればよいでしょうか。.bat ファイルを操作するという考えはありますが、これほど複雑なことはありません。

4

1 に答える 1

1

おそらく、.xml ファイルの一般的な形式と必要な特定のペアを提示していただければ、ご希望のバッチ ファイルを表示できます。バッチ ファイルは、特定の固定された方法でファイルを処理するように記述されているため、他の形式に柔軟性がない場合を除き、他の形式のファイルには "一般的な" バッチ ソリューションはありません。

以下に、バッチ ファイルを使用した .xml ファイル処理の 3 つの例を示します。

XML ファイルの編集

特定の XML タグの値を抽出するバッチ ファイル

バッチ コマンドで xml 値をループする方法

次のバッチ ファイルは、必要な "xml ペア" が上記の 2 番目の例と同じであると仮定して、目的を達成する例です。

@echo off
rem I have a folder of .xml files with text in them
cd "C:\Documents and Settings\My Name\The Folder"
rem I need to iterate through all the .xml files in that folder and output the results to a single file with just the values I need. 
(for %%a in (*.xml) do (
   call :check_lines < "%%a"
)) > "The Single File.txt"
exit /b


rem I need to search for particular xml pairs and pull their values 
rem Seek for the start of Data tag
:check_lines
   set /P line=
if not "%line%" == "<DATA>" goto check_lines

rem Copy until the end of Data tag
set /P line=
:put_lines
    if "%line%" == "</DATA>" goto end_lines
    set /P line=%line% 
goto put_lines
:end_lines
echo/
exit /B
于 2013-01-04T02:03:00.910 に答える