none
Copiar arquivo - RRS feed

  • Pergunta

  • Ola a Todos

    Preciso de um Script que copie um determinado arquivo do um Servidor \\Servidor\teste.txt e coloque em cada maquina de minha rede na pasta \\maquina\C$\Documents and Settings\All Users\Menu Iniciar\Programas\Inicializar.

    Se Possivel me lista as Maquina que foram copiadas com sucesso como um LOG, e a Data e hora do processo.


    Obrigado a todos
    quarta-feira, 25 de março de 2009 14:34

Respostas

  • Usando o comando FOR no Prompt de comandos você resolve isso com uma linha somente. Coloque os nomes das máquinas no arquivo lista.txt e execute


    for /f %1 in (lista.txt) do robocopy \\server\share "\\%1\c$\documents and settings\a\b\c"  teste.txt /log:log-copia-%1.txt

    Basta modificar os caminhos.


    []s,


    Vinicius Canto
    MVP Admin Frameworks
    http://viniciuscanto.blogspot.com

    Vinicius Canto MVP Admin Frameworks Blog: http://viniciuscanto.blogspot.com
    • Marcado como Resposta Makinamara quinta-feira, 8 de abril de 2010 01:44
    quinta-feira, 26 de março de 2009 04:06
    Moderador

Todas as Respostas

  • Olá,

    Veja se te atende o script abaixo:

    Option Explicit

    Dim objFSO, objLogFile, objNetwork, objShell, strText, intAns
    Dim strArq, strOrig, strDest
    Dim intConstants, intTimeout, strTitle, intCount, blnLog
    Dim strUserName, strComputerName, strIP, strShare, strLogFile

    ' NOME DO ARQUIVO
    strArq = "opcao8.jpg"
    ' PASTA ORIGEM
    strOrig = "\\server\compartilhamento\"
    ' PASTA DESTINO
    strDest = "c:\"
    ' PASTA DO ARQUIVO DE LOG
    strShare = "c:\"
    ' NOME DO ARQUIVO DE LOG
    strLogFile = "teste.txt"
    ' TIMEOUT PARA TENTAR EXECUTAR
    intTimeout = 20

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objNetwork = CreateObject("Wscript.Network")
    Set objShell = CreateObject("Wscript.Shell")

    strUserName = objNetwork.Computername
    strComputerName = objNetwork.ComputerName


    ' Log date/time, user name, computer name, and IP address.
    If (objFSO.FolderExists(strShare) = True) Then
        On Error Resume Next
        Set objLogFile = objFSO.OpenTextFile(strShare & "\" _
            & strLogFile, 8, True, 0)
        If (Err.Number = 0) Then
            intCount = 1
            blnLog = False
            Do Until intCount = 3
            objFSO.CopyFile strOrig & strArq , strDest & strArq , true
                objLogFile.WriteLine "Copia de Arquivo ; "  & Now & " ; " _
                    & strComputerName & " ; " & strUserName
                If (Err.Number = 0) Then
                    intCount = 3
                    blnLog = True
                Else
                    Err.Clear
                    intCount = intCount + 1
                    If (Wscript.Version > 5) Then
                        Wscript.Sleep 200
                    End If
                End If
            Loop
            On Error GoTo 0
            If (blnLog = False) Then
                strTitle = "Erro"
                strText = "Não pode gravar o log."
                strText = strText & vbCrlf _
                    & "Outro processo pode estar com o arquivo aberto."
                intConstants = vbOKOnly + vbExclamation
                intAns = objShell.Popup(strText, intTimeout, strTitle,intConstants)
            End If
            objLogFile.Close
        Else
            On Error GoTo 0
        End If
        Set objLogFile = Nothing
    End If

    Set objFSO = Nothing
    Set objNetwork = Nothing
    Set objShell = Nothing

    Wscript.Quit




    Poste os resultados.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique a resposta
    quarta-feira, 25 de março de 2009 19:22
  • Usando o comando FOR no Prompt de comandos você resolve isso com uma linha somente. Coloque os nomes das máquinas no arquivo lista.txt e execute


    for /f %1 in (lista.txt) do robocopy \\server\share "\\%1\c$\documents and settings\a\b\c"  teste.txt /log:log-copia-%1.txt

    Basta modificar os caminhos.


    []s,


    Vinicius Canto
    MVP Admin Frameworks
    http://viniciuscanto.blogspot.com

    Vinicius Canto MVP Admin Frameworks Blog: http://viniciuscanto.blogspot.com
    • Marcado como Resposta Makinamara quinta-feira, 8 de abril de 2010 01:44
    quinta-feira, 26 de março de 2009 04:06
    Moderador