for /f "tokens=1-2" %%A in (x.txt) do echo %%B > DirectoryA\%%A\id.txt
Discussão:
Você pode obter muitas informações úteis digitando FOR /? em um Prompt de Comando. Em particular,
FOR /F ["options"] %variableIN (file-set) DOcommand[command-parameters]
lê o arquivo ou arquivos especificados entre parênteses (o file-set ) e analisa cada linha em tokens. tokens=1-2 é a string options para dizer que você deseja a primeira e a segunda palavras em cada linha. %%A especifica que %%A é a variável na qual a primeira palavra será lida; implicitamente / automaticamente, a segunda palavra entra em %%B . Em seguida, o comando echo será executado com %%A e %%B definido para as duas palavras do arquivo.
Observação: Se você estivesse digitando esse comando diretamente no Prompt de Comando, usaria %A e %B , mas teria que usar sinais de porcentagem dupla ao fazer a mesma coisa um script (arquivo em lotes).