Как принудительно синхронизировать Google Drive из командной строки Windows 7

Как принудительно синхронизировать Google Drive из командной строки Windows 7

Я использую Google Drive для синхронизации личных документов, когда я на работе и мне нужно быстро обновить файл дома для личных целей. У меня есть задачи дома, запущенные через диспетчер задач, который использует эти обновленные файлы, и иногда они чувствительны ко времени.

Мне нужно настроить что-то, что будет принудительно синхронизировать папку Google Drive на моем домашнем компьютере перед запуском запланированной задачи и получать последние обновления, сделанные мной для этого файла, пока я на работе.

Пока что все мои поиски указывают на паузу и перезапуск Google Drive с помощью значка в трее, чтобы принудительно выполнить синхронизацию, если не считать его выключения и перезапуска. Я попробовал и обнаружил, что эта схема работает, но нет способа повторить ту же функцию из командной строки, т. е. нет такого переключателя командной строки, как:

googledrivesync.exe /pause 

или

googledrivesync.exe /restart

Я попытался настроить автоматическое назначение горячих клавиш для выполнения этой задачи по наведению и щелчку мыши, но из-за непостоянного количества иконок в трее это в лучшем случае приводит к неудачам.

Я также пытался убить googledrivesync.exe с помощью taskkill и перезапустить его, но после запуска googledrivesync.exe он оставляет открытым окно DOS на рабочем столе. И если это сделать еще несколько раз (а это делается, так как работа на моем домашнем компьютере запускается каждые 15 минут), количество этих окон, препятствующих выполнению моей запланированной задачи, поскольку они закрывают весь экран.

Любые другие идеи или недокументированные функции Google Диска будут высоко оценены.

решение1

Поскольку у вас уже есть метод завершения службы, и единственная проблема — это окно-заглушка cmd, просто напишите небольшой пакетный скрипт, который:

  1. Выполните ваш метод для перезапуска службы.
  2. Заставьте оболочку умереть.

Что-то вроде этого:

taskkill /fi "Service eq Google Sync"
exit

решение2

  1. Убить процесс GoogleDriveSync
  2. В командной строке перейдите в папку c:\program files\Google\drive\
  3. выполнить googledrivesync.exe /autostart

решение3

Это старый вопрос. Но поскольку это появилось, когда я искал ту же проблему. Вот что я сделал.

Небольшое приложение C#, которое должно делать то, что хотел бы автор, для «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");
    }
  }
}

решение4

Есть только один способ принудительной синхронизации в Google Drive. Вам нужен «конфликтующий файл», который Google не может синхронизировать (поврежден или что-то еще). Затем щелкните правой кнопкой мыши значок Gdrive, выберите «Просмотр несинхронизируемых файлов» и нажмите «Повторить».

Работает всегда, и я синхронизирую 15 облачных серверов друг с другом. PITA, у них должна быть возможность принудительной повторной синхронизации, но мы все знаем, почему этого нет — пропускная способность. Google отклонил частоту повторной синхронизации, чтобы снизить затраты, просто и понятно.

Связанный контент