none
Trabalhando com variáveis de ambiente no script RRS feed

  • Pergunta

  • Boa noite!

    Preciso executar o comando "echo %COMPUTERNAME:~0,3%" dentro de um script para analisar o resultado (IF) e excutar alguns scripts de acordo com o retorno desse comando.

    O comando pega as iniciais do HOSTNAME. De acordo com essas iniciais identifico de qual site a estação pertente e, então executo alguns scripts especificos para cada localidade de nossa empresa.

    Tentei jogar esse comando dentro de uma variável para analisar numa condicional, mas sem sucesso. Não tenho experiencia em scripts windows.

    Alguem poderia ajudar?

    terça-feira, 4 de junho de 2013 21:34

Respostas

  • Maxwell,

    Veja um exemplo em VBScript usando Select Case (acho que fica mais organizado do que com IFs).

    A duas primeiras linhas recuperam o nome do host.

    Na terceira eu pego os três caracteres a partir da esquerda, e então começa o SELECT CASE

    Set wshNetwork = WScript.CreateObject( "WScript.Network" )
    strComputerName = wshNetwork.ComputerName
    
    strInicio = left(strComputername,3)
    
    Select case strInicio
    
    	Case "AAA"
    		wscript.echo "Bloco de código para maquinas que começam com AAA"
    
    
    	Case "BBB"
    		wscript.echo "Bloco de código para maquinas que começam com BBB"
    		
    		
    	Case Else
    		wscript.echo "Bloco de código para maquinas que começam com um tiopo não identificado"
    		
    		
    End select


    Fábio de Paula Junior

    quarta-feira, 5 de junho de 2013 20:45
    Moderador

Todas as Respostas

  • Maxwell,

    Veja este exemplo.

    @echo off
    IF %COMPUTERNAME:~0,3% EQU NNA ( echo O Nome do computador começa com NNA )
    
    IF %COMPUTERNAME:~0,3% EQU NNE ( echo O Nome do computador começa com NNE )

    Na minha opinião .BAT não é muito bom pra IFs muito sofisticados, este que fiz foi bem simples, mas se tiver muitos ELSEs aí já partiria para um .VBS.


    Fábio de Paula Junior

    terça-feira, 4 de junho de 2013 23:57
    Moderador
  • Boa tarde Fábio,

    Muito obrgado pela resposta. Eu terei no script uns 60 IF, que correspondem aos 60 sites que temos, visto que executarei procedimentos especificos para cada site de acordo com essa análise do HOSTNAME. Pretendo jogar o script numa GPO de logon. Acha que .bat não seria o ideal?

    Se fosse .vbs, o que iria diferenciar?

    Desculpe a ignorância..srsrs. Ja mexi muito com scripts mas em shell (linux), agora que estou começando a mexer mais com ambiente windows.

    quarta-feira, 5 de junho de 2013 17:21
  • Maxwell,

    Veja um exemplo em VBScript usando Select Case (acho que fica mais organizado do que com IFs).

    A duas primeiras linhas recuperam o nome do host.

    Na terceira eu pego os três caracteres a partir da esquerda, e então começa o SELECT CASE

    Set wshNetwork = WScript.CreateObject( "WScript.Network" )
    strComputerName = wshNetwork.ComputerName
    
    strInicio = left(strComputername,3)
    
    Select case strInicio
    
    	Case "AAA"
    		wscript.echo "Bloco de código para maquinas que começam com AAA"
    
    
    	Case "BBB"
    		wscript.echo "Bloco de código para maquinas que começam com BBB"
    		
    		
    	Case Else
    		wscript.echo "Bloco de código para maquinas que começam com um tiopo não identificado"
    		
    		
    End select


    Fábio de Paula Junior

    quarta-feira, 5 de junho de 2013 20:45
    Moderador
  • Ok...muito obrigado Fábio! Me ajudou bastante!
    sexta-feira, 7 de junho de 2013 18:05
  • Maxwell,

    Nos ajude a manter o fórum organizado, quando um tópico seu estiver respondido marque a postagem que solucionou o caso como respondida.

    <o:p></o:p>

    A opção "Votar como útil" é para utilizar quando você encontra alguma postagem que te ajudou (por exemplo, vc procurou por algo no fórum e encontrou a resposta sem precisar abrir seu próprio tópico), o "Marcar como Resposta" é utilizado pelo dono do tópico (neste caso você) para marcar a postagem que solucionou a dúvida.<o:p></o:p>

    <o:p></o:p>


    Fábio de Paula Junior

    sexta-feira, 7 de junho de 2013 20:19
    Moderador