Como extrair a segunda palavra da string via lote do Windows

Como extrair a segunda palavra da string via lote do Windows

Gostaria de solicitar assistência para este caso. Quero obter a segunda palavra do título para poder defini-la como arquivo de destino.

set title=THE PROGRAM TITLE HERE

Responder1

set title=one two three four five
for /f "tokens=2" %%i in ("%title%") do set word2=%%i
echo %word2%

Basicamente, isso pega o segundo token (palavra) da string. Mude o número atrás tokens=para outro para obter outra palavra. Você também pode usar tokens=2,4para obter a 2ª e a 4ª palavra. Tokens adicionais podem ser recuperados de %%j, %%ketc.

Veja for /?para mais informações.

Responder2

Você poderia chamar uma sub-rotina local, passando o título sem aspas. Na sub-rotina, isso lhe daria uma lista de parâmetros, por exemplo, %1para "THE", %2para "PROGRAM".

Algo como

call :second
echo The second word is %second_word%

e depois:

:second
   set second_word=%2
   goto :eof

informação relacionada