Loading

バッチ ファイルから実行されると Tabcmd Export または Get でパラメーターが無視される

公開日: Jul 20, 2023
説明
Tableau Server ビューのエクスポートを自動化するための .bat ファイルを実行しているときに、フィルター パラメーターにスペースまたはエンコードが必要なその他の文字が含まれていると、そのパラメーターは無視されます。

たとえば、次の export コマンドを含む .bat スクリプトを実行すると、元の (フィルター処理されていない) ビューの PDF が生成されます。

tabcmd export "Workbook/Sheet1?Order%20Priority=High&Customer%20Segment=Home%20Office" -s http://server-u user -p password --fullpdf -f "C:\export.pdf"

tabcmd.log ファイルに示されている結果として得られた要求は次のとおりです。

tabcmd export "Workbook/Sheet1?Order0Priority=High&Customer0Segment=Home0Office" -s http://server-u user -p password --fullpdf -f "C:\export.pdf"

URL から '%2' が削除されていることに注意してください。

Cause

  • Windows コマンド インタープリター cmd.exe は、文字列がコマンド ラインとバッチ ファイル内のどちらで指定されているかによって動作が異なります。
  • エンコード文字列に 2 番目の '%' を追加すると、コマンド インタープリターに、それを引数として評価するのではなく、文字どおりエンコード文字列を調べるように指示します。
解決策
  • 次の例のように、2 番目の '%' 文字を使用してエンコードをすべてエスケープします。
tabcmd export "Workbook/Sheet1?Order%%20Priority=High&Customer%%20Segment=Home%%20Office" -s http://server-u user -p password --fullpdf -f "C:\export.pdf"
その他のリソース

ナレッジ記事番号

001473459

 
読み込み中
Salesforce Help | Article