-
É
%1, não%1% -
Você também deve escapar das aspas internas:
[HKEY_CLASSES_ROOT\exefile\Shell\Scan\command] @="cmd.exe /k cd /d \"C:\Program Files\Scanner\" && scanner.exe \"%1\"" -
A opção
/ddeve ser dada acd, para também alterar a letra da unidade atual em cmd (se o arquivo estiver em outra unidade). -
Especificar o caminho completo para
scanner.exenão é necessário, porque depois de vocêcdele estará no diretório atual.