Batch-Satti
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Batch-Satti

Você não está conectado. Conecte-se ou registre-se

[Resolvido]copiar arquivos para varias pastas

4 participantes

Ir para baixo  Mensagem [Página 1 de 1]

filipes

filipes

Então, é o seguinte...
eu num sei se dá, e sinceramente, to torcendo pra que alguem saiba..

RESUMINDO
vou usar no trampo, to em rede, todos os pcs são WinXP.
eu vou criar um script, que verifica se uma pasta existe dentro da pasta "arquivos de programa", vou usar como exemplo "testpaste". se não existir "testpaste" dentro do "Arq. de Prog." é adicionado a um arquivo txt numa pasta da rede o nome do computador. Após a verificação ele se auto exclui.

esse script eu já fiz antes, tá funcionando, e o esquema é colocá-lo na pasta inicializar, pq ele executa assim q o pc ligar e desaparece, mas AÍ VEM O PONTO!

tem uns 150 pcs na rede aqui. eu quero copiar esse arquivo pra cada um deles, aí teria como eu colocar no bat um comando copiando pra pasta (exemplo) "\\computador001\c$\Documents and Settings\All Users\Menu Iniciar\Programas\Inicializar", ele ia funcionar com perfeição... Se num funfar eu coloco %homepath%.. Copiar pra dentro dessa pasta é facil..

Aí vem o grande problemaaAA.. Se eu fosse fazer um bat que copiasse com os meus conhecimentos até o momento, eu colocaria varias e varias linhas, cada uma copiando pra um computador...
Num tem como eu copiar pra todos os pcs? tipo, tem um diretorio na rede q eu abro como pasta, todos os pcs q tão na rede, mas eu não sei copiar pra dentro de todos eles.. como se fosse assim, verifica todas as pastas num dir, e copia pra cada uma dessas pastas o arquivo. sakas?

oq eu queria é tipo assim..

COMPUTADORES NA REDE
computador001
computador002
computador003
computador004
computador005
computador..... etc

um bat que pegasse cada um desses e copiasse pra pasta
"\\COMPUTADOR\c$\Documents and Settings\All Users\Menu Iniciar\Programas\Inicializar"
tem como? pq tipo, eu num qro ficar colocando o nome de cada computador, até pq, num tem todos os numeros, tá tipo assim:

computador001
computador002
computador003
computador005
computador006
computador009

e eu num to nada afim de ficar vendo cada um deles xD

e aí? tem como??
desde já já to agradecendo!! pq isso vai me poupar um trab do caramba!!!!

ps.: eu sou meio noob, pq eu to começando ainda e to aprendendo tudo atravez de forum, então se for usar codigo, tem como dar uma explicada pra mim entender pra qlqr coisa conseguir aplicar?? Valeww!!!

filipes

filipes

Ah, qualquer coisa, hoje eu fico na empresa até 12:30, mas amanha e sexta eu fico o dia inteiro.. eu sei q eu sou novo aquiii, e taallzz, maas, o quanto antes puderem responder eu agradeço, desculpa acelerar, mas meu supervisor já tá me cobrando aqui!! Smile

Valeww aeww!! xD

NeoqJav

NeoqJav

E se ao envés de você colocar o nome do computador, você colocar o IP...

tipo ao envés de \ \computador01\c$ você colocar \ \ 172.25.41.1\c$ ( exemplo )

Utilize esse scanner de IPs de mesma rede feito pelo BOSS-HEAD:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Código:

@echo off
title Hosts dispon¡veis ^| By Boss-Head ^|
rem original: [url=http://pastebin.com/1BU8vwyB]http://pastebin.com/1BU8vwyB[/url] [ Boss-Head ] adaptado por NeoqJav
rem adaptado por NeoqJav [url=http://pastebin.com/gqqX06yF]http://pastebin.com/gqqX06yF[/url]
SETLOCAL ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
echo Funciona em redes de classe C,
echo Demora cerca de 2 minutos ...
echo.
for /f "tokens=2 delims=[]" %%* in ('ping %computername% -n 1') do (set IP_LOCAL=%%*)
for /f "tokens=1,2,3,* delims=." %%A in ("!IP_LOCAL!") do (
set "RE_DE=%%A.%%B.%%C."
)
echo Hosts dispon¡veis na seua rede !RE_DE!0 :
echo ---------------------------------------------------------------
for /l %%x in (1,1,254) do (
Title Progresso: %%x/254
for /f "tokens=3 delims=: " %%y in ([email='@ping]'@ping[/email] -n 1 -l 1 -w 1 !RE_DE!%%x ^| Find /i "Resposta"') do (
echo %%y
)
)
echo ---------------------------------------------------------------
echo.
echo. Scanner terminado 
echo. Quem abre a mente reduz o mundo. [ NeoqJav ]
echo. Acesse: [url=http://batch-satti.forumeiros.com]http://batch-satti.forumeiros.com[/url]
echo. %time%
pause>nul

http://neoqjav.dihitt.com.br

filipes

filipes

Ow, valeww, amanha vou dar uma olhada lá no serviço e ver se funciona, mas só uma duvida, aí como eu faria pra conseguir copiar os arquivos pro diretorio? tem como puxar todos esses ips e colocar em variaveis diferentes?

Seria bom se eu conseguisse montar algo automatico que copiasse pra todos os ips disponiveis, tipo, fazer o codigo do copy
copy arquivo.bat "\ \ 192.168.00.1\c$\arq..... "

virar varios comandos, cada um com uma variavel
copy arquivo.bat "\ \ %var1%\c$\arq..... "
copy arquivo.bat "\ \ %var2%\c$\arq..... "
copy arquivo.bat "\ \ %var3%\c$\arq..... "
copy arquivo.bat "\ \ %var4%\c$\arq..... "

e cada uma dessas variaveis seria um IP

pq tipo, eu vou ter q fazer isso mais de uma vez, e toda vez eu ter que ficar pegando o ip um por um e jogando o codigo em cima é crueldade..

a dica que vc me deu já ajuda pakas, pq eu vou ter numa lista os ips de todos os comps da empresa, mas agora falta automatizar...

:study:Procurei em tudo quanto é canto, mas num consegui achar... bom seria se eu conseguisse fazer ele puchar tudo de um bloco de notas e colocar cada linha numa variavel.. dá pra puchar e dá pra por numa variavel, mas separar eu num faço a menor ideia de como fazer, pra começar, nem sei se dá pra fazer
o sistema criar variaveis.. esse negocio vai dar trabalho.. o meu problema é essas variaveis!!!

alien Eu invento cada problema!!! E TUDO PQ NUM QUERO FICAR DIGITANDO!!
kkkkk Very Happy

Boss-Head

Boss-Head

Na verdade isso seria um paliativo !
Más não sei como é sua rede o correto seria aplicar esse processo de verificação pelo AD (active directory) pelo Domain Controller (Controlador de Domínio).
Para a instalação do AD é necessário o serviço DNS e possivelmente ele deva existir na sua rede porque o C$ está habilitado
Bom não sei qual sua necessidade portanto vou fazer um script básico e posto aqui ...

Boss-Head

Boss-Head

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
ou
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Claro não testei ..
aqui no meu avô tem uma rede de uns 30 pc´s dos funcionarios da fazenda etc.
pingou identificou más não testei o xcopy senão meu vô ia ter um treco.
Se vc mudar um icone de lugar do desktop dele ele fica bravo ....
Testa vê como se comporta o script ....

Obs.
O script que o [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
postou ele inicia o range de ips a partir do seu proprio (como inicio )
nesse ele pode ser iniciado a partir de um expecificado pelo usuário .
Claro na rede tudo o que pingar e retornar ele vai tentar copiar (scaner, impressoras,etc.) por isso eu coloquei um errorlevel pra vc verificar depois do que se trata !

COMO DISSE NÂO TESTEI TUDO È TEÒRICO....

filipes

filipes

Hum, saquei, vou dar uma olhada então, ver como o script se comporta e falo o resultado aqui dps.. Eu vi o script e num entendi muito bem como ele puxa os ips, mas eu vo estudar ele com mais calma dps.

E valew!! Vcs tão ajudando pakas!!

Boss-Head

Boss-Head

voce tem que digitar os ip´s tipo assim

A: 192
B: 168
C: 10
D: 1

> Entre com o nome do arquivo
> a ser copiado
> Ex. C:\teste\teste2.bat

Arquivo : c:\pasta_de_teste\boss-head.bat

-------------------------------------------------------
Se vc salvar o arquivo a ser copiado na mesma pasta do batch é só
digitar o nome dele...

filipes

filipes

então, estudei o código, vi como funcionava, e meu, tá muito bom!! Antecipadamente dou meus parabens xD

ele passou por todos ips, gerou o relatorio certinho, mas justo a parte que vc não testou não está funcionando, deixei ele rolar por algum tempo e interrompi o script, peguei o relatorio efui checar as maquinas na qual ele copiou o arquivo, no relatorio constava como copiado, mas quando fui checar a pasta ela estava vazia, vou tentar dar uma olhada e adaptar. olhando não consigo achar o erro, mas cou tentar pegar só uma parte do codigo pra copiar só pra um ip pra poder ver como ele tá se comportando, se eu achar o erro eu aviso.. valew Boss!!

Boss-Head

Boss-Head

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

copia o codigo daqui
o pastebin em geral dá erro....

e se quiser subst.
xcopy !Arquivo_8! "\\%Pinga_IP%\c$\Documents and Settings\All Users\Menu Iniciar\Programas\Inicializar" /U /C /Y

por

copy !Arquivo_8! "\\%Pinga_IP%\c$\Documents and Settings\All Users\Menu Iniciar\Programas\Inicializar"

filipes

filipes

Agora sim! Achei o problema!!

era mais simples do que eu imaginava...
troquei /U por /V !!! Era isso errado só!

Mas agora tá funcionando direitinho!!
Valeu Boss!! me livrou de um trabalho desnecessário!!

Valew galera!! vou começar a vim com mais frequencia aqui!! Surprised

Boss-Head

Boss-Head

De nada disponha

Softehard Solutions

Softehard Solutions

Colegas, estou com uma necessidade parecida com a do felipes, mas no meu caso, preciso copiar um determinado arquivos em várias pastas e subpastas de alguns diretórios, seria possível fazer isso? Detalhe, não manjo nada de scripts...

Agradeço a ajuda.Smile

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos