Primeiro, & é um e comercial. | é um pipe. O e comercial ( & ) permite executar vários comandos em uma única linha. O pipe ( | ) redireciona a saída de um comando para outro comando. Assim, o título da sua pergunta não reflete sua pergunta real.
Em segundo lugar, .\ é o diretório atual e \ é o diretório raiz. Tente usá-lo com o comando cd :
cd .\ não fará nada, pois irá "mudar" para o diretório atual.
cd \ irá levá-lo para a pasta raiz, não importa quantas pastas você tenha.
O problema é que você está usando diferentes pastas output em cada comando. Quando você mkdir \output , está criando uma pasta chamada output na raiz da unidade em que você está, como c:\output . Posteriormente, você referencia .\output que aponta para uma pasta output em seu diretório atual , como c:\users\myUserName\output .
Veja como seu comando deve ficar:
mkdir .\output & for /r %i in (*.pdf) do pdftotext -enc UTF-8 "%i" ".\output\%~ni.txt"
Além disso, você pode encontrar ajuda mais ampla no link