Ir ao conteúdo
  • Cadastre-se
Visitante

Problema com comando batch

Recommended Posts

Visitante

Estou com este trecho de um comando que não está dando certo.
Ele busca em dois arquivos de texto um item, analiza o primeiro (tmp.ini) e busca um item igual no arquivo 2 (temp.ini).
Se NÃO achar correspondência ele printa na tela um número da linha (1, 2, 3, etc) e o item em questão, pra eu usar depois
Ou seja, ele procura itens que ainda não existem no arquivo 2.

 

@echo off
set acao=incluir
set ativacao=a
rem Os comandos acma são só adaptações para o exemplo.
set cont=1
set corresp=n
if /i %acao%==incluir (
 if %ativacao%==a (
 set cont=1
  for /f "tokens=1,2* delims=---" %%a in (tmp.ini) do (
   for /f "eol=H skip=1 tokens=1,2*" %%d in (temp.ini) do (
    set corresp=n
    if %%f==%%c set corresp=s
   )
   if %corresp%==n (
    echo %cont% %%b
    set /a cont=cont+1
   )
  )
 )
)

 

 

Conteúdo do arquivo 1 tmp.ini

 

A---Programas e Recursos---Programas e Recursos
B---Controles dos Pais---Controles dos Pais
C---Central de Rede e Compartilhamento---Central de Rede e Compartilhamento
D---Gerenciador de Dispositivos---Gerenciador de Dispositivos
E---Mouse---Mouse
F---Sistema---Sistema
G---Teclado---Teclado
H---Windows Defender---Windows Defender
I---Firewall do Windows---Firewall do Windows

 

Conteúdo do arquivo 2 temp.ini

 

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl
 1   REG_SZ   Gerenciador de Dispositivos
 2   REG_SZ   Central de Rede e Compartilhamento
 3   REG_SZ   Windows Defender
 4   REG_SZ   Sistema
 5   REG_SZ   Programas e Recursos

 

 

O problema é que as linhas "set /a cont=cont+1" e "set corresp=n" só são válidos dentro do for,
e eu preciso que sejam variáveis globais, ou seja, válidas dentro e fora do for. Mesmo estas sendo criadas antes
do for, o valor que ganham nele perdem quando ele acaba. Pelo menos é o que parece.

Alguém sabe como resolver?

 

Ajuda é sempre bem vinda.

 

Valeu. Até mais, ou não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×