none
script bat com for RRS feed

  • Pergunta

  • Olá pessoal...

    tenho um script em bat que faz o que preciso, eh simples e funcional..

    porem, me deparei com um problema..

    coloquei uma variavel pra ele, :: set pc=1% ai quando chamo ele façop:

    script.bat nome_micro1

    o que ocorre, eh que tenho um arquivo com todas as maquinas, e to fazeno manual, uma por uma.. (nome_micro2, nome_micro_3, e assim vou indo.. )queria que ele lesse esse arquivo e fosse fazendo automatizado..

    alguem sabe como fazer isso? pensei em for, mas nao achei nada, talvez nem exista :(

    muito obrigado...

    infelizmente precisa ser em .bat, pois nao vou conseguir converter ele todo pra vbs

    sexta-feira, 14 de maio de 2010 03:15

Respostas

  • Faça assim:

    FOR /F %i IN (c:\seuarquivo.txt) DO script.bat %i

    No seu arquivo coloque uma máquina por linha.

    Qualquer dúvida poste e se for útil vote.

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    sexta-feira, 14 de maio de 2010 11:13

Todas as Respostas

  • Faça assim:

    FOR /F %i IN (c:\seuarquivo.txt) DO script.bat %i

    No seu arquivo coloque uma máquina por linha.

    Qualquer dúvida poste e se for útil vote.

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    sexta-feira, 14 de maio de 2010 11:13
  • Bom dia Gabriel,

    devo fazer 2 scripts? 1 com o for e ali no DO script.bat, coloco o nome do meu script... deixando os dois scripts na mesma pasta?

    ai sempre rodo o script com FOR que vai chamar o completo, certo?

    meu script está abaixo, a variavel eh o esquema que falei que uso para fazer 1 máquina por vez sabe..

    obrigado pela resposta e aguardo comentários,

    Abs

    diego

     

    @echo off

    REM Utilitário para replace do SyLink...

    :: set pc=%1

    echo.

    echo Fazendo atualizacao do SyLink.xml, Aguarde...

    echo.

    echo Parando o servico Smc.exe...
    sc \\%1 stop SmcService

    echo.

    echo Removendo os arquivos SyLink.bak e .xml...
    del "\\%1\c$\Arquivos de programas\Symantec\Symantec Endpoint Protection\SyLink.bak"
    del "\\%1\c$\Arquivos de programas\Symantec\Symantec Endpoint Protection\SyLink.xml"

    echo.

    echo Copiando o novo SyLink.xml...
    xcopy /D /Y \\172.19.1.109\sylink$\SyLink.xml "\\%1\c$\Arquivos de programas\Symantec\Symantec Endpoint Protection\"

    echo.

    echo Iniciando o servico Smc.exe...
    sc \\%1 start SmcService

    echo > "\\%1\c$\Arquivos de programas\Symantec\Symantec Endpoint Protection\OK.txt"

    echo.

    sexta-feira, 14 de maio de 2010 13:39
  • Isso pode fazer assim mesmo.

    Abraço


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    sexta-feira, 14 de maio de 2010 14:13
  • Cara, fiz assim o for.bat mas nao rolou..

    @echo off

    FOR /F %i IN "c:\sep\maquinas.txt" DO "C:\sep\for\replace_sylink_net_for.bat" %i

    tenho os dois arquivos nos caminhos q indiquei...

    replace_sylink_net_for.bat

    @echo off

    REM Utilitário para replace do SyLink...

    echo.

    echo Fazendo atualizacao do SyLink.xml, Aguarde...

    echo.

    echo Parando o servico Smc.exe...
    sc \\%i stop SmcService

    echo.

    echo Removendo os arquivos SyLink.bak e .xml...
    del "\\%i\c$\Arquivos de programas\Symantec\Symantec Endpoint Protection\SyLink.bak"
    del "\\%i\c$\Arquivos de programas\Symantec\Symantec Endpoint Protection\SyLink.xml"

    echo.

    echo Copiando o novo SyLink.xml...
    xcopy /D /Y \\172.19.1.109\sylink$\SyLink.xml "\\%i\c$\Arquivos de programas\Symantec\Symantec Endpoint Protection\"

    echo.

    echo Iniciando o servico Smc.exe...
    sc \\%i start SmcService

    echo > "\\%i\c$\Arquivos de programas\Symantec\Symantec Endpoint Protection\OK.txt"

    echo.

    pause

     

    que será que faltou?

    sexta-feira, 14 de maio de 2010 14:24
  • Substitua essa linha:

    FOR /F %i IN "c:\sep\maquinas.txt" DO "C:\sep\for\replace_sylink_net_for.bat" %i

    FOR /F %i IN ("c:\sep\maquinas.txt") DO "C:\sep\for\replace_sylink_net_for.bat" %i

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    sexta-feira, 14 de maio de 2010 16:58
  • Oi Gabriel,

    consegui desta maneira, veja:

    for /F %%i in (c:\sep\maquinas.txt) DO replace_sylink_net_for.bat %%i

    outra coisa, como faço para executar o comando abaixo na maquina do usuario, remotamente?

    PsExec.exe \\PC "C:\Arquivos de Programas\Symantec\Symantec Endpoint Protection\Smc.exe" -stop

    bom.. to tentando com o psexec, mas sempre me da esse erro:

    Couldn't access 0301_micro_61:
    The network path was not found.

    Make sure that the default admin$ share is enabled on PC

    serah que existe uma outra forma de executar o comando "C:\Arquivos de Programas\Symantec\Symantec Endpoint Protection\Smc.exe" -stop

    remoto? preciso que seja chamando pelo script, nao por netlogon sabe?

    bom, se puder me dar mais uma dica ai..

    abs

    sexta-feira, 14 de maio de 2010 22:50
  • Por que não pode ser um script de inicializção da máquina via GPO?

    Assim ficaria bem mais fácil.

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    sábado, 15 de maio de 2010 02:05
  • Oi Gabriel,

    Nao tenho AD na empresa ainda.. temos samba com openldap e o login script está gigante já..

    ai com isso o login script está demorando nas estações, pois temos as filiais com link wan..

    ai está por isso de toda essa manobra que preciso fazer sabe..

    segunda-feira, 17 de maio de 2010 17:29
  • Cara o psexec que vc está utilizando está correto.

    Esse problema pode estar ocorrendo justamente devido a lentidão do seu link wan, provavelmente está dando time out nas estações.

    Verifique também se não há firewall habilitado ou antivirus bloqueando.

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    terça-feira, 18 de maio de 2010 22:33