Для выполнения нескольких команд одна за другой с использованием конвейера в bat файле, вам нужно корректно использовать операторы конвейера (pipe) `|` и возможно другие конструкции командного интерпретатора.
Например, если вы хотите передать вывод одной команды в другую, используйте следующий синтаксис:
```batch
command1 | command2
```
Теперь, для экспорта таблиц из базы данных PostgreSQL с использованием команды `\copy`, первое, что стоит уточнить: команда `\copy` является встроенной командой утилиты `psql` и не может быть вызвана напрямую через командную строку. Вам нужно вызвать `psql` и передать ей команду `\copy`. Внутри bat файла вы можете использовать "here-document" подход (например через конструкцию `<<`) для передачи команды в `psql`, но к сожалению, cmd.exe (стандартный командный интерпретатор в Windows) эту конструкцию не поддерживает.
Однако, вы можете создать временный файл с командами SQL или использовать echo для передачи команды в `psql`. Здесь пример bat файла, который вы могли бы использовать для выполнения вашей задачи:
```batch
@echo off
:: Задаем данные для подключения к базе данных PostgreSQL
set PGPASSWORD=your_password
set PGUSER=your_username
set PGHOST=your_host
set PGDATABASE=your_database
set PGPORT=your_port
:: Экспортируем первую таблицу
echo \copy (SELECT * FROM table1) TO 'C:\path\to\output\table1.csv' WITH CSV HEADER > temp.sql
psql -f temp.sql
:: Экспортируем вторую таблицу
echo \copy (SELECT * FROM table2) TO 'C:\path\to\output\table2.csv' WITH CSV HEADER > temp.sql
psql -f temp.sql
:: Очистите временный SQL файл
del temp.sql
:: Сброс переменных окружения
set PGPASSWORD=
set PGUSER=
set PGHOST=
set PGDATABASE=
set PGPORT=
echo Done.
pause
```
Чтобы ваш скрипт не выдавал ошибку "to was unexpected at this time", следуйте указанному выше примеру и используйте `psql` с промежуточным файлом. Если вы получаете ошибку из-за использования специальных символов в команде (например, перенаправления `>`), удостоверьтесь, что все пути и аргументы заключены в двойные кавычки.
Учтите, что данный пример предполагает использование команды `psql`, которая должна быть доступна в переменной среды PATH. Переменные окружения, относящиеся к PostgreSQL (`PGPASSWORD`, `PGUSER` и т.д.), используются для установления соединения с базой данных без необходимости вводить данные в командной строке.
Помните, что хранение пароля в скрипте или использование его в переменных среды не рекомендуется с точки зрения безопасности. Лучше использовать файл `.pgpass` или другие способы аутентификации.