Ir ao conteúdo
  • Cadastre-se

Script : batch *.cmd


zetto33

Posts recomendados

Eaeww,

Como posso fazer para em um batch, extensão *.cmd, copiar um arquivo para o menu iniciar pelo caminho relativo?

Digo; se adicionar "COPY TESTE.TXT %SYSTEMROOT%\SYSTEM32" o script adicionará à pasta X:\WINDOWS\SYSTEM32 o arquivo TESTE.TXT.

Gostaria de saber o que coloco entre %aqui% para adicionar ao Menu Iniciar.

---------------------------

Outra coisa: pelo fato deste script ter como função instalar programas e atualizações durante o processo de instalação do Windows 2000 e XP, poderia adicionar algo ao RUNONCE, se possível, como?

Grato pela atenção,

zetto33

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Criei um programa que verifica informações do computador e gera um arquivo txt e o envia para um servidor ftp onde o arquivo pode ser acessado pelo endereço no navegador e faz a verificação em um tempo determinado pelo usuario.

A principal função é verificar o endereço de ip e envia-lo a cada 15minutos. (o tempo pode ser mudado)

dentre outras funções que podem ser adicionadas como pingar um endereço, verificar processos ativos, etc...

Código Fonte

@echo off&title IP Engine

:Inicio

:: Tempo do intervalo de atualização padrão em segundos.

set CICLO=900

:: Escreva aqui os dados do seu servidor (A=Endereço ftp B=Login C=Senha)

set A=ftp.servidor.com

set B=usuario

set C=senha

:: Pasta os quais irá ficar os arquivos no Servidor (sem espaços)

set FOLDER=engine

:::::::::::::::::::::: Não altere nada daqui para baixo ::::::::::::::::::::::::

REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionRun" /v "Engine" /t reg_sz /d "C:Windowssystem32engine.exe" /f

cls

ECHO.&ECHO. * Processo Iniciado...

set FILE=%computername%-%username%.txt

set FTP=ftpconf.tmp

::

IF "%1%"=="" (

set UPDATETIME=%CICLO%

) ELSE (

set UPDATETIME=%1%

)

ECHO.&ECHO. * Verificando IP...

ECHO.&ECHO. * Gerando Arquivo...

ECHO.>%FILE%

ECHO.-------------------------------------------------------------------------------->>%FILE%

ECHO.>>%FILE%

ECHO.Nome do Computador: %computername% >>%FILE%

ECHO.Nome do Usuário: %username% >>%FILE%

ECHO.>>%FILE%

ECHO.Data: %date% Hora: %Time% >>%FILE%

ECHO.>>%FILE%

ECHO.-------------------------------------------------------------------------------->>%FILE%

ECHO. INFORMAÇÃO DO SISTEMA >>%FILE%

ECHO.>>%FILE%

ECHO.Sistema operacional:>>%FILE%

ver>>%FILE%

ECHO.>>%FILE%

ECHO.Nome do Processador: %processor_identifier% >>%FILE%

ECHO.>>%FILE%

ECHO.Arquitetura: %processor_architecture% >>%FILE%

ECHO.>>%FILE%

ECHO.OS: %os% >>%FILE%

ECHO. >>%FILE%

ECHO.-------------------------------------------------------------------------------->>%FILE%

ECHO.>>%FILE%

ipconfig /all >>%FILE%

ECHO.>>%FILE%

ECHO.-------------------------------------------------------------------------------->>%FILE%

ECHO.&ECHO. * Acessando informa‡äes da conta FTP...

ECHO.&ECHO. * Gerando arquivo tempor rio...

ECHO.open %A%>%FTP%

ECHO.%B%>>%FTP%

ECHO.%C%>>%FTP%

ECHO.mkdir %FOLDER%>>%FTP%

ECHO.cd %FOLDER%>>%FTP%

ECHO.send %file%>>%FTP%

ECHO.quit>>%FTP%

ECHO.&ECHO. * Conectando ao servidor FTP...

ECHO.&ECHO. * Enviando arquivo...

@FTP -i -v -s:%FTP%>log.tmp

ECHO.&ECHO. * Excluindo arquivos tempor rios...

DEL /Q %FTP%

DEL /Q %FILE%

DEL /Q log.tmp

ECHO.&ECHO. * Finalizado!

ECHO.&ECHO. * Aguardando novo ciclo... tempo de espera: %UPDATETIME% Segundos.

ECHO.&ECHO.------------------------------------------------------------------------------

ECHO. Programa criado por Victor_npb

ECHO.

sleep %UPDATETIME%

GOTO Inicio

O funcionamento é simple e funciona em BAT.

primeiro o usuario define as variaveis, depois ele gera um arquivo com o nome do computador seguido do nome do usuario em txt (ex:"OBELIX-Joao.txt") contendo informações sobre data e hora da verificação, nome do computador, nome do usuario, sistema operacional, nome do processador, arquitetura do processador, e o endereço de Ip de todas as conexoes ativas, adaptadore de rede, entre outros. e depois envia o arquivo para um servidor ftp (ex:geocities) que poderá ser acessado em uma pagina da internet de qualquer lugar (ex:http://br.geocities.com/name/comp-user.txt).

O tempo de intervalo para cada verificação pode ser atribuido pela linha de comando

ENGINE.BAT [tempo em segundos]

ex: "c:pastaengine.bat 3600" (o programa atualizará o arquivo a cada 1 hora)

caso não for especificado será usado o tempo padrão, definido internamente pela variavel CICLO (15min ou 900seg)

ele inicia automaticamente com o windows, basta move-lo para o diretório "C:windowssystem32" como o nome "engine.bat"

Arquivo Final no servidor de exemplo:

http://br.geocities.com/victor_npb/engine/computer1-user1.txt

----

Link para o comentário
Compartilhar em outros sites

Não existe uma variável de ambiente que aponte direto para o caminho do "Menu Iniciar". No máximo, você pode user a %USERPROFILE% e forçar um "\Menu Iniciar\Programas" depois. Mas obviamente fica amarrado ao Windows em português.

Uma forma fácil e segura é usando VBScript. Veja o WScript.Shell.SpecialFolders(...).

Além disso, nessa resposta do Victor você tem umas formas de acessar o registro do Windows. Você consegue achar o caminho do menu iniciar na chave HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders (se não estou enganado! estou numa maquina linux no momento e não consigo verificar...)

Ai está a resposta para sua segunda dúvida também. Basta adicionar a chave no HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce com o caminho do seu programa.

De qualquer forma, sinto que você está querendo reinventar a roda. Conforme seu ambiente e necessidade, o melhor é usar scripts de logon ou montar os pacotes de instalação do WIndows já com os programas que deseja.

JP

Link para o comentário
Compartilhar em outros sites

  • 11 meses depois...

Ambiente

tenho uma rede com aproximadamente 100 micros e gostaria de efetuar a instalação do real VNC em todas as maquinas isso é possivel através de Bath

criando um script de rede que instala? O problema é que no momento da instação é necessario dar os clique de avançar.

Será que a unica alternativa é instalar máquina a máquina?

Obrigado

Link para o comentário
Compartilhar em outros sites

Ambiente

tenho uma rede com aproximadamente 100 micros e gostaria de efetuar a instalação do real VNC em todas as maquinas isso é possivel através de Bath

criando um script de rede que instala? O problema é que no momento da instação é necessario dar os clique de avançar.

Será que a unica alternativa é instalar máquina a máquina?

Obrigado

sim, é possivel.. já fiz isso com outros programas, vou dar uma olhada no vnc depois pra ver se é possivel e depois te falo.

ok?

Link para o comentário
Compartilhar em outros sites

  • 10 meses depois...

Bom dia

Teria como eu usar essa bat para rodar os hotfix do windows nas maquinas na rede .

Ex: Na empresa tenho mais de 1000 maquinas conectadas a um dominio W2003 . Não posso colocar as astualizações na GPO porque isso cairia o rendimento da rede . Minha ideia pegar faixas de ips e rodas uma bat que pega os hotfix que baixaei e instale na maquina , ou em um range de ip , mas teria que me informar qual maquina não estava ligada .

Então ela teria que funcionar na "teoria " assim

1 - starto a bat

2 - Verifica as maquinas ligadas

3 - conecta na maquina

4 - copia ou autualiza os hotfix

5 - reboot na maquina

Esse passo de vasculhar a rede pela bat que não sei como fazer , por favor se alguem tier uma ideia !!! Help - me

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...