3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【DataSpider】プロジェクト仕様書を全件自動ダウンロードする

3
Last updated at Posted at 2026-05-01

はじめに

諸事情によりDataSpiderのプロジェクト仕様書を全件出力することになりました。
プロジェクト数は数百個あり、UIからプロジェクトを1つ1つダウンロードしていると日が暮れます。
もっと楽な方法はないかと試行錯誤して、スクリプト処理でプロジェクト全件ダウンロードを完結できるようにしました。
前半はスクリプト開発奮闘記です。
結果だけ知りたい方はこちら

プロジェクト仕様書ダウンロード方法

プロジェクト仕様書ダウンロード方法は大きく2通りあります。

DataSpiderStudioからダウンロード

1つ目はDataSpiderのUIであるStudioから操作して仕様書ダウンロードする方法です。
UIからの詳しい操作方法は下記公式FAQに記載があります。
また、キャプチャ付きで分かりやすく解説されている記事がDMS Cubeにありました。

CLIでダウンロード

2つ目はCLIからコマンドで仕様書をダウンロードする方法です。
v4.3でprospecgenというプロジェクト仕様書出力のコマンドが追加されました。

CLIのコマンド一覧はマニュアルから確認できます。

prospecgenはこれです。
image.png

CLIコマンドの実行

CLIコマンドの実行方法が変わっています。

v4.5SP1以前はCLI -M<コマンド設定ファイル>
https://www.hulft.com/help/ja-jp/DataSpider/dss45sp1/help/ja/cli/cli.html

v5.0以降はCLI.exe -c <コマンド名> [オプション]もしくはCLI.exe -f <コマンド設定ファイルパス>
https://www.hulft.com/help/ja-jp/DataSpider/dss500/help/ja/cli/cli.html

それに伴い、逆引きリファレンスrl_reference_095.zip
スクリプトからCLIコマンドを実行したいの設定値が変わっています。
下記はv5.0の逆引きリファレンス
https://www.hulft.com/help/ja-jp/DataSpider/dss500/help/ja/reference/scenario/rl_reference_095.html

CLIを利用した仕様書ダウンロード処理

仕様書ダウンロードコマンドを試す

Server CLI Consoleを開きます。
$DATASPIDER_HOME/server/bin/CLI.exeから開きます。
image.png

prospecgenを打ったところ引数が必要なようです。

prospecgen [-s | -u <user>] [ -p ] [ -m ] [ -t ] [ -f ] <project_name> <destination_file_path>

image.png

プロジェクトの仕様書を出力します。
image.png

コマンドはこれ

prospecgen -u root プロジェクト "C:\Program Files\DataSpiderServista\server\data\prospecgen\command\プロジェクト.zip"

#が現れた。
image.png

仕様書zipファイル現る。
image.png

解凍してhtmlファイルが開けた。
image.png

CLIで仕様書出力はできそうだけど1コマンドで1仕様書しか出力できません。
複数仕様書を一括で出力するスクリプトを開発します。
まずプロジェクト一覧をmyprojectsコマンドで取得して、それをprospecgenコマンドに加工しバッチを実行すればできそう。

プロジェクト仕様書を全件自動ダウンロードするスクリプト開発

全体の流れ

Step1 myprojectsコマンドを実行しプロジェクト名一覧を取得する
Step2 プロジェクト名一覧を加工してprospecgenコマンドを作成する
Step3 作成したprospecgenコマンドを実行する

image.png

準備物

①CLIコマンドファイルを叩くためのバッチファイル
②CLIコマンドファイル(myprojects)

上記をC:\Program Files\DataSpiderServista\server\data\prospecgenに格納します。

image.png

cli_run.bat
set DSS_HOME=C:\Program Files\DataSpiderServista
set CLI_EXE="%DSS_HOME%\server\bin\CLI.exe"
set COMMAND_FILE="%DSS_HOME%\server\data\prospecgen\%1"
set RESULT_FILE="%DSS_HOME%\server\data\prospecgen\result.csv"
%CLI_EXE% -f %COMMAND_FILE%>%RESULT_FILE%
myprojects
myprojects

Step1 myprojectsコマンドを実行しプロジェクト名一覧を取得する

変数代入

スクリプト変数CLIコマンドファイル名に単一行文字列定数ロジックを使いmyprojectsを代入します。
スクリプト変数インストールディレクトリにシステム・プロパティロジックを使いlax.root.install.dirを代入します。
image.png

image.png

外部アプリケーション起動処理(myprojects実行)

下記の通り設定します。
image.png

Step2 プロジェクト名一覧を加工してprospecgenコマンドを作成する

CSVファイル読み取り処理

myprojects実行にて作成されたresult.csvを読み取ります。
result.csvは下記のように出力されるため、デリミタ文字をタブとし、読み取り開始行を3行目にします。
また、なぜか、下にnullの行が追加されてしまうのでのちの工程で削除します。
image.png

image.png

image.png

変数代入

result.csvの名前をスクリプト変数プロジェクト名に代入します。
その時名前の右側に不要なスペースがあるため、右側トリムロジックを使います。
image.png

image.png

マッピング

null行を書き込まないロジックプロジェクト名をprospecgenコマンドに加工するロジックを組みます。
image.png

prospecgen -u root -f ${プロジェクト名} C:\${プロジェクト名}.zip

image.png

仕様書出力先のパス内にスペースを含むことはできません。
スペースを含む際はパスを「""」で囲む必要がありますが、「""」で囲むと後工程のCSVファイル書き込みコンポーネントの仕様でコマンド全体が「""」で囲まれます。
「""」で囲まれたコマンドは実行できません。
そのため、スペースを含まないディレクトリに仕様書を出力する必要があります。

ダメな例

単一行文字列定数ロジック
prospecgen -u root -f ${プロジェクト名} "C:\Program Files\DataSpiderServista\server\data\prospecgen\command\${プロジェクト名}.zip"
出力コマンド
"prospecgen -u root -f rl_reference_074プロジェクト ""C:\Program Files\DataSpiderServista\server\data\prospecgen\command
l_reference_074プロジェクト.zip"""

参考までに上記を行うと下記のようなエラーとなります。
image.png

メッセージコードSCRIPT0008E [launch(1)(基本/処理/外部アプリケーション起動)]の処理に失敗しました。原因:[com.appresso.ds.common.launch.LaunchException: error occurred during executing CLI console : 終了ステータス[1]]

CSVファイル書き込み処理

エンコードはUTF-8を選び、上書きと追加書き込みにチェックします。
image.png

image.png

DSS5.0からコマンド設定ファイルのエンコーディングはUTF-8になりました。
そのため、エンコードはUTF-8を選択します。

出力されるprospecgenコマンドは下記
image.png

Step3 作成したprospecgenコマンドを実行する

変数代入

スクリプト変数CLIコマンドファイル名に単一行文字列定数ロジックを使いprospecgenを代入します。
スクリプト変数インストールディレクトリにシステム・プロパティロジックを使いlax.root.install.dirを代入します。
image.png

外部アプリケーション起動処理(prospecgen実行)

image.png

起動したら無事仕様書が出力されました。
image.png

おわりに

気軽に始めましたが沼にはまりました。
ご参考になりましたら幸いです。

参考にした逆引きリファレンスはこちら

逆引きリファレンスのアップロード方法はこちら

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?