Executando um arquivo .bat carregando arquivos de imagem, quer saber quais arquivos são novos?

1

Eu tenho um arquivo .bat que eu criei, que envia novos arquivos para o servidor da minha empresa. Ele funciona muito bem, mas depois que ele é executado, não tenho idéia de quais arquivos são novos ou iguais. Quando o arquivo de lote é executado, posso ver quando ele aparece como novo e quando ele aparece como o mesmo, mas eu quero criar um arquivo de log que mostra quais arquivos são novos, excluindo os arquivos que não foram carregados.

Atualmente, este é o meu arquivo .bat :

robocopy "C:\HUSAPOGDATA\Product_Library" "\NOAMSNYW024.noam.heiway.net\NationalAccounts\Category Management\Space Planning Images\Product_Library" beer.mdb 

robocopy "C:\HUSAPOGDATA\Product_Library" "\NOAMSNYW024.noam.heiway.net\NationalAccounts\Category Management\Space Planning Images\Product_Library" SMSB_Library.mdb 

robocopy "C:\Pog Images\Images\Beer" "\NOAMSNYW024.noam.heiway.net\NationalAccounts\Category Management\Space Planning Images\Pog Images\Images\Beer" /E *.1 *.2 *.3 *.7 *.8 *.9 /MIR /S /V /NP /ZB

Eu uso o comando abaixo para registrar os dados,

fromlocal2network_productlibrary_new.bat > C:\Merch\log.txt

mas eu não quero toda a saída do comando, já que o arquivo é enorme de milhares de arquivos sendo enviados. Existe uma maneira de separar os novos arquivos do antigo no arquivo de log?

    
por Dfiggs 26.10.2015 / 15:43

2 respostas

2

Exemplo de sintaxe a adicionar: /LOG+:%Log%

Origem (abaixo): Robocopy /?

::
:: Logging Options :
::
                 /L :: List only - don't copy, timestamp or delete any files.
                 /X :: report all eXtra files, not just those selected.
                 /V :: produce Verbose output, showing skipped files.
                /TS :: include source file Time Stamps in the output.
                /FP :: include Full Pathname of files in the output.
             /BYTES :: Print sizes as bytes.

                /NS :: No Size - don't log file sizes.
                /NC :: No Class - don't log file classes.
               /NFL :: No File List - don't log file names.
               /NDL :: No Directory List - don't log directory names.

                /NP :: No Progress - don't display % copied.
               /ETA :: show Estimated Time of Arrival of copied files.

          /LOG:file :: output status to LOG file (overwrite existing log).
         /LOG+:file :: output status to LOG file (append to existing log).

       /UNILOG:file :: output status to LOG file as UNICODE (overwrite existing
log).
      /UNILOG+:file :: output status to LOG file as UNICODE (append to existing
log).

               /TEE :: output to console window, as well as the log file.

               /NJH :: No Job Header.
               /NJS :: No Job Summary.

           /UNICODE :: output status as UNICODE.
    
por 26.10.2015 / 22:32
0

Adicione o sinalizador / XO antes de tudo para remover os arquivos antigos da saída.

Em seguida, para minimizar ainda mais a saída no log RoboCopy resultante, você pode adicionar os seguintes sinalizadores: / NDL / NS / NC.

Nota: use somente / NC depois de ter testado o comando e descoberto que as informações da classe, ou seja, arquivos antigos, foram removidas da saída. Teste com o sinalizador / L. Este flag é usado para fazer um 'what if' do seu comando; nenhum arquivo é realmente movido.

Usar esses quatro sinalizadores além do que você já tem deve funcionar muito bem. As outras outras saídas que você pode remover (ao lado da lista de nomes de arquivos) são o cabeçalho e o resumo do trabalho. Isso se torna uma opção para você.

Não hesite em usar a opção / Tee para criar seu log e ver visualmente na linha de comando os resultados em tempo real. Para fazer isso, tudo o que você precisa fazer é adicionar / Tee / Log:% Log%

    
por 29.10.2015 / 06:43