<\/HEAD>
ユーザーがすべての添付ファイルをローカルにエクスポートおよび保存できるジオプロセシングツールはありません。以下の手順は可能な解決策を説明しています。<\/P>
<\/P>
次のスクリプトは、単一のエンティティクラスの添付ファイルテーブル全体を反復処理し、すべての添付ファイル(BLOBまたは大きなバイナリオブジェクトとして保存されている)をファイルにコピーします。<\/P>
手順<\/H2>このスクリプトは、入力テーブルが添付ファイルが有効化されたエンティティクラスで作成される標準の添付ファイルテーブルであることを必要とします。これは、スクリプトがこのテーブルに格納されている <\/SPAN>DATA<\/STRONG><\/SPAN>、 <\/SPAN>ATT_NAME<\/STRONG><\/SPAN> <\/SPAN>および <\/SPAN>ATTACHMENTID<\/STRONG><\/SPAN> <\/SPAN>フィールドに依存しているためです。典型的な命名規則では、テーブル名の末尾に_ATTACH<\/STRONG><\/SPAN> <\/SPAN>が含まれている必要があります。<\/P>以下のスクリプトをメモ帳にコピー&ペーストし、ExportAttachments.pyとして保存します。import arcpy
from arcpy import da
import os
import locale
import sys
reload(sys)
sys.setdefaultencoding('utf8')
inTable = arcpy.GetParameterAsText(0)
fileLocation = arcpy.GetParameterAsText(1)
with da.SearchCursor(inTable, ['DATA', 'ATT_NAME', 'ATTACHMENTID']) as cursor:
for item in cursor:
attachment = item[0]
filenum = "ATT" + str(item[2]) + "_"
filename = filenum + str(item[1])
open(fileLocation + os.sep + filename, 'wb').write(attachment.tobytes())
del item
del filenum
del filename
del attachment<\/BLOCKQUOTE><\/PRE><\/LI>ツールボックスを右クリックし、 <\/SPAN>追加 > スクリプト<\/STRONG><\/SPAN>を選択します。<\/LI>スクリプトに名前とラベルを付けます。 <\/SPAN>相対パス名を保存する<\/STRONG><\/SPAN>のチェックボックスをオンにし、 <\/SPAN>次へ<\/STRONG><\/SPAN>をクリックします。<\/LI>スクリプトファイルで、ExportAttachments.pyが保存されている場所に移動します。スクリプトを選択し、 <\/SPAN>OK <\/SPAN><\/STRONG><\/SPAN>をクリックしてから、 <\/SPAN>次へ<\/STRONG><\/SPAN>をクリックします。<\/LI>パラメーターで、表示名に添付ファイルテーブル<\/EM>と入力し、そのデータタイプを <\/SPAN>テーブル<\/STRONG><\/SPAN>に設定します。2番目のパラメーターを追加し、表示名に出力場所<\/EM>と入力し、そのデータタイプでフォルダーを選択します。<\/LI>完了をクリックします。<\/LI>これでツールボックスに新しいスクリプトツールが追加されているはずです。<\/LI>スクリプトツールをダブルクリックします。ダイアログボックスで、最初のパラメーターに抽出する添付ファイルが含まれる添付ファイルテーブルを選択します。エクスポートされた添付ファイルを保存するフォルダーをOutputLocationに選択します。[OK]ボタンをクリックしてツールを実行します。<\/LI><\/OL><\/BODY><\/HTML>