Windows環境でOracle SQLclを使ってテーブルデータをCSVファイルに出力するために下記のバッチファイルを書きましたが、データベースへのアクセス以外はうまくゆきません。
正しい書き方をご教授ください。

@echo off
echo set sqlformat csv ^
echo set heading off feedback off ^
echo spool c:\PIYO.csv ^
echo select * from PIYO ^
echo spool off | C:\sqlcl\bin\sql -L user/password@//172.16.xx.xxx:1521/HOGE.FUGA

対話式で下記のように実行するとCSVファイルが出力されます。

cd C:\sqlcl\bin
sql user/password@//172.16.xx.xxx:1521/HOGE.FUGA
SQL> set sqlformat csv
SQL> set heading off feedback off
SQL> spool c:\PIYO.csv
SQL> select * from PIYO;
SQL> spool off

本家Stack Overflowの解決策を参考にしてバッチファイルを書きました。