Eu quero criar o arquivo txt do resultado do arquivo de lote

0

Eu estou tentando copiar um arquivo de uma unidade para outra unidade; está funcionando, mas preciso do resultado em um arquivo .txt. Para isso eu escrevi este comando, mas enquanto ele faz o arquivo quando executado manualmente, quando eu executo esse arquivo através do Agendador de Tarefas, ele não cria o arquivo .txt.

@echo on
(
copy W:\DUMP\UATDP-%date:~7,2%.DMP  F:\DP_DUMP\UATDP-%date:~7,2%.DMP /Y
 copy W:\DUMP\IUATDP-%date:~7,2%.DMP  F:\DP_DUMP\IUATDP-%date:~7,2%.DMP  /Y

) > LOG_COPY-%date:~7,2%.TXT

Alguém pode me ajudar com essa tarefa?

    
por Nauman Ali 15.09.2014 / 15:33

2 respostas

0

Você precisará especificar o diretório de trabalho. Quando você executa manualmente o arquivo de lote, você o está executando a partir do diretório em que o arquivo de lote existe. Sem especificar o diretório de trabalho, o agendador de tarefas irá executá-lo a partir de seu próprio diretório de trabalho. (Como uma nota lateral, isso provavelmente significa que você tem alguns arquivos de texto no diretório de trabalho do agendador de tarefas)

Para o usuário, o método mais simples seria adicionar o caminho completo do arquivo .txt. você está tentando salvar, seja na mesma pasta que o lote ou na área de trabalho ou em um diretório do arquivo de log.

Alternativas seria adicionar uma linha cd para alterar o diretório imediatamente antes de salvar o arquivo, ou usar pushd se você realmente quer complicar as coisas desnecessariamente.

    
por 15.09.2014 / 20:54
0

Sua última linha:

) > LOG_COPY-%date:~7,2%.TXT  

Apenas substitua isso por

) > D:\logs\log_copy_%date:~7,2%.txt
    
por 19.09.2014 / 10:03