Como mostrar espaços no CMD?

0

Então, eu queria que meu cmd selecionasse sentenças aleatórias.

set /a rnd=%random%%%5
for /f "tokens=1,2" %%a in (list.txt) do if %rnd%==%%a  echo %%b

Estou usando isso, mas dentro do arquivo list.txt eu tenho frases com espaços. Por alguma razão, o cmd mostra apenas a primeira palavra e não com o resto.

Por exemplo, uma frase no arquivo.

Hello how are you?

Isso seria mostrado como

Hello and that's all.

Mas se eu digitá-lo assim

Hello_how_are_you?

então mostra todas as palavras, mas inclui todas as _ 's

Alguma ideia de como mostrar os espaços sem substituí-los por sinais?

    
por Jess 26.06.2016 / 13:03

1 resposta

0

Você pode instruir o loop for para pegar todos os tokens restantes usando o token curinga '*' assim:

set /a rnd=%random% %% 5 
for /f "tokens=1,*" %%a in (list.txt) do if %rnd%==%%a echo %%b

Aqui, o primeiro token é atribuído a %%a e todos os tokens restantes a %%b . Observe que qualquer espaço em branco entre os tokens é substituído por exatamente um espaço em branco.

    
por 26.06.2016 / 13:50