
Estou usando o Google Drive para sincronizar documentos pessoais quando estou no trabalho e preciso atualizar rapidamente um arquivo em casa para fins pessoais. Tenho tarefas em casa executadas no gerenciador de tarefas, que usa esses arquivos atualizados e às vezes são sensíveis ao tempo.
Preciso configurar algo que forçará uma sincronização na pasta Google Drive do meu computador doméstico, antes de iniciar a tarefa agendada e obter as atualizações mais recentes que fiz nesse arquivo, enquanto estou no trabalho.
Até agora, todas as minhas pesquisas apontam para pausar e reiniciar o Google Drive a partir do ícone da bandeja, para forçar uma sincronização, antes de desligá-lo e reiniciá-lo. Eu tentei e descobri que esse esquema estava funcionando, mas não há como replicar a mesma função na linha de comando, ou seja, não existe uma opção de linha de comando como:
googledrivesync.exe /pause
ou
googledrivesync.exe /restart
Tentei configurar um trabalho de tecla de atalho automático para fazer esse trabalho de apontar e clicar com o mouse, mas devido ao número inconsistente de ícones da bandeja, é um acerto e erro na melhor das hipóteses.
Também tentei matar o googledrivesync.exe usando taskkill e reiniciá-lo, mas, após a execução do googledrivesync.exe, ele deixa uma caixa DOS na área de trabalho aberta. E se isso for feito mais algumas vezes (e é feito porque o trabalho do meu computador doméstico é executado a cada 15 minutos), o número dessas janelas obstrui a execução da minha tarefa agendada por cobrir toda a tela.
Quaisquer outras idéias ou recursos não documentados do Google Drive serão muito apreciados.
Responder1
Como você já tem um método para encerrar o serviço e o único problema é a janela stub cmd, basta escrever um pequeno script em lote que:
- Execute seu método para reiniciar o serviço
- Faça a casca morrer.
Algo assim:
taskkill /fi "Service eq Google Sync"
exit
Responder2
- Matar processo GoogleDriveSync
- No prompt de comando, vá para a pasta c:\program files\Google\drive\
- execute googledrivesync.exe /autostart
Responder3
Esta é uma questão antiga. Mas já que isso apareceu quando eu estava procurando pelo mesmo problema. Aqui está o que eu fiz.
Um pequeno aplicativo C# que deve fazer o que o OP gostaria 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");
}
}
}
Responder4
Só existe uma maneira de forçar uma sincronização no Google Drive. Você precisa ter um "arquivo conflitante" que o Google não consiga sincronizar (corrompido ou algo assim). Em seguida, clique com o botão direito no ícone do Gdrive, selecione "Exibir arquivos não sincronizáveis" e clique em "Tentar novamente".
Funciona sempre e estou sincronizando 15 servidores em nuvem entre si. PITA, eles deveriam ter a opção de forçar a ressincronização, mas todos sabemos por que não o fazem - largura de banda. O Google recusou a frequência de ressincronização para reduzir custos, pura e simplesmente.