Estoy intentando copiar archivos generados por SAP Business Objects (y guardados en una unidad de red (M:)) en la unidad de flujo de archivos de Google (G:). Utilicé el comando de Windows Robocopy, que me permite omitir archivos que ya están allí. Mi archivo por lotes (simplificado) se ve así:
@robocopy "M:\aFolder" "g:\My Drive\DataDrops" "*.txt" /XO >> Logfile.txt
Esto funciona perfectamente cuando hago doble clic en él o lo ejecuto desde el símbolo del sistema cmd. Pero quiero programarlo para que básicamente busque archivos nuevos cada 10 minutos aproximadamente. Entonces creé una tarea de Windows para ejecutar el archivo por lotes. Pero cuando la tarea se ejecuta, aparece una ventana de cmd que dice "acceso denegado".
Configuré la tarea para que se ejecute como yo mismo, y solo cuando inicio sesión para ejecutarla, pero de alguna manera, cuando la tarea se ejecuta, se me niega el acceso. No sé si la tarea no tiene permiso para acceder a la unidad de red, o no a la unidad de transmisión de archivos de Google, o a mi unidad local (que es donde se guarda el script).
Respuesta1
Entonces, la solución fue moverlo a PowerShell y luego programar PowerShell (no el script en sí) y luego pasar el script como parámetro.
Entonces sí: programe powershell con los parámetros:-executionpolicy bypass -file YourScript.ps1
La segunda parte de la solución consiste en no utilizar unidades de red asignadas, sino utilizar la \\servername\filepath\
notación en el nombre del archivo en red, ya que aparentemente el programador no vio la unidad asignada. (Google Drive todavía funciona, así que estoy entusiasmado)