Quiero crear el archivo txt del resultado del archivo por lotes

0

Estoy tratando de copiar un archivo de una unidad a otra unidad; está funcionando pero necesito su resultado en un archivo .txt. Para esto escribí este comando, pero aunque crea el archivo cuando se ejecuta manualmente, cuando ejecuto ese archivo a través del Programador de tareas, no crea el archivo .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

¿Alguien puede ayudarme con esta tarea?

Nauman Ali
fuente

Respuestas:

0

Deberá especificar el directorio de trabajo. Cuando ejecuta manualmente el archivo por lotes, lo está ejecutando desde el directorio en el que existe el archivo por lotes. Sin especificar el directorio de trabajo, el programador de tareas lo ejecutará desde su propio directorio de trabajo. (Como nota al margen, eso probablemente significa que tiene algunos archivos de texto en el directorio de trabajo del planificador de tareas)

Para el punto del usuario PetSerAl , el método más simple sería agregar la ruta completa del archivo .txt que está intentando guardar, ya sea en la misma carpeta que el lote, en su escritorio o en un directorio de archivos de registro .

Las alternativas serían agregar una cdlínea para cambiar el directorio inmediatamente antes de guardar el archivo, o usar pushdsi realmente desea complicar las cosas innecesariamente.

James Brewer
fuente
0

Tu ultima linea:

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

Simplemente reemplace esto para

) > D:\logs\log_copy_%date:~7,2%.txt
Ankit Yadav TrK
fuente