---
title: "差分レポートの自動生成"
date: "2018-05-22"
categories: 
  - "applications"
  - "software"
  - "tools"
tags: 
  - "comparison-tool"
  - "diffdog"
  - "diffdog-server"
description: DiffDog Serverは、ファイル、ディレクトリ、およびURLに対して、様々なプラットフォーム上で差分レポートを自動的に生成し、開発者の作業効率を向上させます。その仕組みは以下の通りです。
---
Status: #blog

Tags:  #comparison-tool #diffdog #diffdog-server

Categories: [xml](/blog/ja/category/xml.md) | [development](/blog/ja/category/development.md)
# 差分レポートの自動生成

DiffDog Serverは、大量のファイル、ディレクトリ、およびURLの比較を自動化し、差分レポートを生成する機能を備えています。この高性能なサーバーソフトウェアは、Windows、Linux、およびMacOS X環境で利用可能です。

開発者は長年、DiffDogをXML、テキスト、バイナリファイル、そしてディレクトリやURLの比較に利用してきました。今、DiffDogの機能を搭載した、非常に高速なサーバーソフトウェアが登場し、大規模な比較作業を容易に自動化できるようになりました。

例えば、DiffDog Serverは、特定の時間帯（毎日、毎週など）に、重要なファイルやディレクトリの差分レポートを自動的に生成するのに最適です。

[![](/blog/images/3WaysComparision07a.jpg)](3WaysComparision07a.jpg)

<!--more-->

DiffDog Serverは、以下の種類の比較をサポートしています

- バイナリファイル、テキストファイル、およびXMLファイル
- ディレクトリ（ZIPアーカイブを含む）
- URL（Uniform Resource Locator：統一資源特定子）
- 2方向のディレクトリ比較と、2つまたは3つのファイル間の差分比較機能

DiffDog Serverをネットワーク内のマシンにインストールすると、それはサービスとして動作します。DiffDog Serverは、コマンドラインインターフェースから、または実行可能なスクリプトを通じて、どちらからでも起動して比較処理を実行できます。

DiffDog Serverにファイルを比較するには、DiffDog Serverがインストールされているサーバー上で直接比較を行うか、クライアントマシンからリモートで比較を実行することができます。DiffDog Serverのインストールには、持ち運び可能なDiffDogコマンドラインクライアントが含まれており、これを組織内の複数のマシンにコピーすることで、ユーザーはリモートから実行中のDiffDog Serverにアクセスできるようになります。

まずは、DiffDog Serverのコマンドラインクライアントを使って、簡単なディレクトリ比較から始めましょう。以下に示すのは、ディレクトリ比較の基本的なコマンドの形式です。このコマンドは、いくつかのオプションによって機能が拡張されています

- "dc"は"dir-compare-contents"の略で、サーバーに対して、ファイル名が一致するファイルのサイズや作成日だけでなく、ファイルの内容も比較するように指示します
- `om=xml` は、テキスト形式ではなく、XML形式で出力することを指定します
- `o=results.xml` は、結果を "results.xml" という名前のファイルに保存します
- "directory1" と "directory2" は、比較するディレクトリのパスを指定します

[![DiffDogサーバーのディレクトリ比較コマンドの簡単な例](/blog/images/DiffDog-Server-command-example-1.png)](DiffDog-Server-command-example-1.png)

以下は、DiffDogサーバーのコマンドラインクライアントで、XMLSpyのサンプルデータを含む2つのディレクトリ（v2018とv2017）を比較するために実行した`diff`コマンドの、一部の実行結果です

[![DiffDogサーバーのディレクトリ比較実行例](/blog/images/DiffDog-Server-command-example-2.png)](DiffDog-Server-command-example-2.png)

実行ウィンドウに比較結果全体を表示することはオプションであり、必ずしも必要ではありません。なぜなら、結果はXML形式の出力ファイルにも書き出されています。以下に、XMLSpyで確認できる結果ファイルの抜粋を示します

[![DiffDogサーバーのコマンド実行結果。このコマンドは、差分レポートの自動生成を目的としています](/blog/images/dir-compare-result-xml.png)](dir-compare-result-xml.png)

DiffDogコマンドラインクライアントは、直接実行するだけでなく、バッチファイルやその他のスクリプトに組み込むことで、自動実行することも可能です。また、DiffDogコマンドラインクライアントツールをネットワーク上の複数のユーザーに配布することで、DiffDogサーバーが稼働しているサーバーに対してコマンドを実行させることができます。

### DiffDogとの連携機能

DiffDogを使用すると、ユーザーはディレクトリやファイル間の差異を比較し、マージすることができます。さらに、3つのファイルを並べて表示し、比較することも可能です。この機能は、特にソースコード管理システムで利用されており、複数のユーザーが同じソースファイルから作業を開始し、それぞれ異なる変更を加えた場合に、それらの変更を統合する必要がある場合に役立ちます。以下に、XMLファイルの異なるバージョンを3方向で比較する例を示します。

[![DiffDogにおける3方向ファイル比較機能](/blog/images/diffdog-3-way.png)](diffdog-3-way.png)

DiffDogで定義されたファイルやフォルダの比較設定は、再利用のためにファイルに保存することができます。これらの比較指示セットには、ディレクトリやファイルのフルパス、DiffDogで最初に設定されたすべての比較オプション、そしてオプションで指定された結果ファイルのファイル名と場所が含まれています。

DiffDogで比較ファイル（例えば、.filedifや.dirdifファイル）を作成すると、それらのファイルをサーバー環境でも比較することができます。これにより、頻繁に行う比較作業を自動化したり、カスタムスクリプトやプロセスに組み込んだりすることが可能になります。

DiffDogのコマンドラインクライアントにおけるインポート機能を使用すると、`.filedif`または`.dridif`ファイルを読み込むことで、繰り返し行う比較作業を簡素化し、再利用することができます。以下にその例を示します

[![DiffDogサーバーのインポートコマンド：差分レポートの自動生成を可能にします](/blog/images/command-example-3.png)](command-example-3.png)

以下は、上記で示した3つの要素の比較結果を示すXMLファイルの一部です

[![DiffDogサーバーにおけるファイル比較の差分結果](/blog/images/file-results-example.png)](file-results-example.png)

これまでの例ではすべてXMLファイルを使用しましたが、DiffDog Serverには、差分レポートの自動生成を可能にする、さらに多くの比較オプションが用意されています。DiffDog Serverを使用すると、テキストファイルやソースコードファイル、XMLファイルやJSONファイル、Word文書など、さまざまな種類のファイルに対して、差分レポートの自動生成が可能です。生成される差分レポートは、広く受け入れられているUnixの差分形式で表示されます。

以下に示されたスクリーンショットは、DiffDogを使用して、同じデータを格納した3つのJSONファイルを比較した結果です。これは、上記の3つのXMLファイルを比較した結果と同様のものです。

[![DiffDog: JSONファイルの3方向比較機能](/blog/images/json-3-way.png)](json-3-way.png)

これらの比較設定を「FileCompare2.filedif」というファイルに保存し、以下のコマンドを使用してDiffDog Serverによる比較を実行しました：**DiffDogCmdlClient import FileCompare2.filedif**

この比較結果のファイルは、テキスト形式で作成されており、以下にその一部を表示します

[![JSONファイルに対する差分結果を自動生成するためのコマンドの実行結果ファイル](/blog/images/json-results.png)](json-results.png)

DiffDog Serverが、Windows、Linux、またはMacOS Xサーバー上で、差分レポートの自動生成をどのように実現できるのか、ぜひご自身でご確認ください [完全に機能する、30日間の無料トライアル版をダウンロードしてください](https://www.altova.com/ja/download)!

(または、テキストファイルやソースコードファイル、XMLファイルやJSONファイル、Word文書などを比較・統合したり、ディレクトリやデータベースなどを比較・同期したりするためのデスクトップツールが必要な場合は、[DiffDogの無料トライアル版をダウンロード](https://www.altova.com/ja/download)してください。)
