Cómo forzar una sincronización de Google Drive desde el símbolo del sistema de Windows 7

8

Estoy usando Google Drive para sincronizar documentos personales cuando estoy en el trabajo y necesito actualizar un archivo en casa rápidamente para fines personales. Tengo tareas en casa que se ejecutan en el administrador de tareas, que utiliza estos archivos actualizados y, a veces, son sensibles al tiempo.

Por lo tanto, necesito configurar algo, lo que forzará una sincronización en la carpeta de Google Drive de la computadora de mi casa, antes de comenzar la tarea programada y obtener las últimas actualizaciones que hice en ese archivo, mientras estoy en el trabajo.

Hasta ahora, todas mis búsquedas apuntan a pausar y reiniciar Google Drive desde el icono de la bandeja, para forzar una sincronización, antes de apagarlo y reiniciarlo. Intenté y encontré que este esquema funcionaba, pero no hay forma de replicar la misma función desde la línea de comando, es decir, no hay un cambio de línea de comando como:

googledrivesync.exe /pause 

o

googledrivesync.exe /restart

Traté de configurar un trabajo de autohotkey para hacer este trabajo de señalar y hacer clic con el mouse, pero debido al número inconsistente de íconos de la bandeja, es un acierto y error en el mejor de los casos.

También intenté matar el googledrivesync.exe usando taskkill y reiniciarlo, pero, después de que se ejecuta el googledrivesync.exe, deja abierto un cuadro de DOS en el escritorio. Y si esto se hace unas pocas veces más (y se hace a medida que el trabajo de la computadora de mi casa se ejecuta cada 15 minutos), el número de estas ventanas obstruye la ejecución de mi tarea programada debido a que cubre toda la pantalla.

Cualquier otra idea o características de Google Drive no documentadas son muy apreciadas.

MelBurslan
fuente
Probablemente detenga / reinicie el servicio a través de net stop& net start. Si alguien (o usted) no tiene una respuesta antes de que pueda acceder a un sistema de prueba este fin de semana, veré si puedo obtener más detalles. Google Drive también puede tener algunos otros parámetros de línea de comandos que aún no ha encontrado, pero no estoy seguro de esto y parece que ya ha hecho suficiente búsqueda para hacer que esa posibilidad sea poco probable.
Iszi
posible duplicado de Sync Google Drive cuando no está conectado
Ƭᴇcʜιᴇ007
No, no es un duplicado de la pregunta superuser.com/questions/463801/… . He visto y leído las respuestas a eso, pero mi necesidad es una actualización "a pedido" en lugar de una desatendida
MelBurslan
@lszi No lo estoy ejecutando como un servicio. Lo inicio a pedido, principalmente durante el día, cuando estoy lejos de casa, y lo apago cuando regreso a casa.
MelBurslan
@MelBurslan De hecho, parece que no se registra como un servicio. Podría hacer taskkillpara matarlo, luego otro comando para reiniciar. O PowerShell podría hacerlo con más gracia. Veamos si uno de esos funcionará, o podría haber otra solución ...
Iszi

Respuestas:

3
  1. Eliminar proceso GoogleDriveSync
  2. En el símbolo del sistema, vaya a la carpeta, c: \ archivos de programa \ Google \ drive \
  3. ejecutar googledrivesync.exe / autostart
softwarerobot
fuente
2

Como ya tiene un método para finalizar el servicio y el único problema es la ventana cmd de código auxiliar, simplemente escriba un pequeño script por lotes que:

  1. Ejecute su método para reiniciar el servicio.
  2. Haz que la concha muera.

Algo como esto:

taskkill /fi "Service eq Google Sync"
exit
Braiam
fuente
Disculpe mi ignorancia, pero parece que su taskkillsugerencia es matar un servicio. A menos que esté totalmente a oscuras, mi proceso de sincronización de Google funciona como un proceso regular, no como un servicio y quiero que funcione de la misma manera, es decir, NO UN SERVICIO. ¿Hay alguna manera de ejecutar este proceso desde la línea de comandos y enviarlo a segundo plano, para que pueda salir de la ventana de DOS desde la que se ejecutó, sin matar el proceso de sincronización de Google?
MelBurslan
@MelBurslan en realidad, taskkill puede finalizar el proceso y los servicios , lo estoy usando /fiya que puede ser un servicio pero puede usarlo /impara filtrar por nombre de la imagen del proceso.
Braiam
Estoy familiarizado con taskkill pero mi problema sigue en pie (a menos que googledrivesync.exe se haya actualizado de manera importante). Después de matar este proceso, necesito poder iniciarlo desde la línea de comandos, y necesito que la ventana dos / cmd desaparezca después de que se complete la ejecución. Pero, cuando ejecuto googledrivesync.exe, el ejecutable nunca libera el símbolo del sistema. Por lo tanto, ponerlo en un lote no hará ninguna diferencia. No es un experto en ventanas. Entonces, si hay un truco para enviar el proceso a un segundo plano, no estoy al tanto.
MelBurslan
¿Es esto un cierre adecuado o una muerte forzada (lo que quiero decir taskkill)?
Chaminda Bandara
@ChamindaBandara taskkill solo envía la señal de muerte al proceso si usa / f. De lo contrario, generalmente envía terminar.
Braiam
2

Esta es una vieja pregunta. Pero ya que esto apareció cuando estaba buscando el mismo problema. Aquí esta lo que hice.

Una pequeña aplicación C # que debería hacer lo que OP quisiera para 'googledrivesync.exe / restart'

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;

namespace StartStopGDrive
{
  class Program
  {
    static void Main(string[] args)
    { 
      Process[] procs = Process.GetProcesses();
      foreach (Process proc in procs)
      {
        if (proc.ProcessName == "googledrivesync")
          proc.Kill();
      }
      Process.Start(@"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Google Drive\Google Drive");
    }
  }
}
Mohamed
fuente
1

No sé si llego tarde, pero esto es lo que estoy usando desde los últimos 3 a 4 años para hacer una copia de seguridad de mis datos en gdrive. Acabo de hacer clic en un icono del archivo por lotes que he creado y la siguiente línea es parte de él. Esto iniciará google drive desde un archivo por lotes. Espero que esto ayude.

c:> Inicio C: \ Progra ~ 1 \ Google \ Drive \ google ~ 1.exe

usando el comando de inicio no dejará el cuadro de DOS negro abierto :-)

Para finalizar el google drive

puede usar el comando desde el indicador de DOS

taskkill / f / im googledrivesync.exe

espero que esto ayude.

Apoorva

apoorva
fuente
En caso de que haya una segunda unidad de Google en funcionamientotaskkill /f /im google~1.exe
MotsManish
0

Solo hay una forma de forzar una sincronización en Google Drive. Debe tener un "archivo en conflicto" que Google no puede sincronizar (dañado o lo que sea). Luego haga clic derecho en el icono de Gdrive, seleccione "Ver archivos no sincronizables" y haga clic en "Reintentar".

Funciona siempre y estoy sincronizando 15 servidores en la nube entre sí. PITA, deberían tener una opción para forzar la resincronización, pero todos sabemos por qué no lo hacen: ancho de banda. Google ha rechazado la frecuencia de resincronización para reducir los costos, simple y llanamente.

Ansergy WECC
fuente
-4

He escrito una pequeña aplicación solo para solucionar este problema, reiniciará la aplicación Google Drive periódicamente, forzando así la resincronización. Espero eso ayude :)

Automatizar: obligar a Google Drive a sincronizar archivos

Shunmugh Sundaram
fuente
3
¿Puedes explicar con más detalle lo que hace y cuesta? VirusTotal apareció en su mayoría limpio, solo uno lo muestra como problemático: Kingsoft Win32.Troj.IAgent.wt. (Kcloud) 20150211
Dom
lo siento, pero tu aplicación no hace nada por mí. Todavía es gráfico (depende del icono de la bandeja) y es periódico. Necesito algo que pueda ejecutar desde la línea de comandos y bajo demanda.
MelBurslan
Es falsa alerta positiva. ¿Y no es su objetivo tener el último archivo antes de que las tareas los recojan? Mi aplicación solo hace que mantenga la copia fresca. Pero si lo desea, puedo enviarle .exe que simplemente reiniciará Google Drive sin ejecutarse periódicamente. Para que pueda ejecutarlo bajo demanda o programarlo como desee.
Shunmugh Sundaram