Claro, você pode usar alguns IF NOT
condicionais simples e informá-lo se a primeira variável FOR /L
de %%a
é igual ao valor da segunda variável FOR /L
de %%b
para não echo
na saída arquivo.
Eu também coloquei o redirecionamento >>
append na variável echo
do %X%
dentro do loop para garantir que ele seja anexado para corrigir os valores dos loops como você esperava. Além disso, coloco a lógica inicial em cima de IF EXIST newfile.txt DEL /Q /F newfile.txt
, então, se ela existir antes da execução, ela é excluída primeiro.
@ECHO ON
setlocal enabledelayedexpansion
IF EXIST newfile.txt DEL /Q /F newfile.txt
for /L %%a in (0 1 10) do (
for /L %%b in (1 1 10) do (
IF NOT %%a==%%b set X=%%a%%b
echo. !X! >>newfile.txt
))