%CD%
sempre retornará o diretório que você estava usando quando executou o comando; neste caso, é C:\asf
'. Se eu interpretar o que você está perguntando, você quer que cada um deles vá para um diretório separado? Nesse caso, você só precisa criar esse nome de diretório em seu comando.
Note, no entanto, que você não pode ter um arquivo e uma pasta com o mesmo nome e o mesmo caminho pai; por exemplo, se você tivesse um arquivo chamado C:\asdf\asdf.asf
, você não poderia também criar uma pasta chamada C:\asdf\asdf.asf
porque o caminho seria ambíguo.
A opção mais fácil seria retirar a extensão do arquivo, que o comando for
pode fazer por você:
for /r %x in (*.asf) do aifdump -hr "%x" "%~dpnx"
NOTA: %~dpnx
é uma concatenação de três modificadores e fornece a unidade, o caminho e o nome (sem extensão) do nome do arquivo contido na variável x.