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

8

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

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

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

googledrivesync.exe /pause 

или

googledrivesync.exe /restart

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

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

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

MelBurslan
источник
Возможно, остановите / перезапустите службу через net stop& net start. Если у кого-то (или у вас) нет ответа до того, как я смогу добраться до тестовой системы в эти выходные, я посмотрю, смогу ли я получить более подробную информацию. У Google Диска также могут быть некоторые другие параметры командной строки, которые вы еще не нашли, но я не уверен в этом, и вы, кажется, уже достаточно охотились, чтобы сделать эту возможность маловероятной.
Изи
возможный дубликат Синхронизации Google Диска, когда не
залогинен
Нет, это не дубликат вопроса superuser.com/questions/463801/… Я видел и читал ответы на это, но мне нужно обновление «по требованию», а не автоматическое обновление
MelBurslan
@lszi Я не работаю как сервис. Я запускаю его по требованию, в основном днем, когда я нахожусь вне дома, и выключаю, когда возвращаюсь домой.
MelBurslan
@MelBurslan Действительно, кажется, что он не регистрирует себя как сервис. Вы можете сделать, taskkillчтобы убить его, а затем еще одну команду, чтобы перезапустить. Или PowerShell может сделать это более изящно. Давайте посмотрим, сработает ли один из них, или может быть другое решение ...
Iszi

Ответы:

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

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

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

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

taskkill /fi "Service eq Google Sync"
exit
Braiam
источник
Извините за мое невежество, но похоже, что вы taskkillпредлагаете убить службу. Если я не нахожусь в полной темноте, мой процесс googledrivesync выполняется как обычный процесс, а не как служба, и я хочу, чтобы он функционировал так же, т.е. НЕ СЕРВИС. Есть ли способ запустить этот процесс из командной строки и отправить его в фоновый режим, чтобы я мог выйти из окна DOS, из которого он запускался, не убивая процесс googledrivesync?
MelBurslan
@MelBurslan на самом деле, TaskKill может завершить процесс и службы , я использую, /fiпоскольку это может быть служба, но вы можете использовать /imдля фильтрации по имени образа процесса.
Браам
Я знаком с taskkill, но моя проблема все еще остается (если googledrivesync.exe не был обновлен главным образом). После завершения этого процесса мне нужно иметь возможность запустить его из командной строки, и мне нужно, чтобы окно dos / cmd исчезло после его завершения. Но когда я запускаю googledrivesync.exe, исполняемый файл никогда не выпускает командную строку обратно. Таким образом, положить его в пакет не будет иметь никакого значения. Не эксперт по Windows. Так что, если есть способ отправить процесс в фоновый режим, я не знаю об этом.
MelBurslan
Это правильное отключение или принудительное убийство (что я имею в виду taskkill)?
Чаминда Бандара
@ChamindaBandara taskkill просто отправляет сигнал уничтожения процессу, если вы используете / f. В противном случае обычно отправляет прекратить.
Брайам
2

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

Небольшое приложение на C #, которое должно делать то, что хотел бы OP для 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
источник
1

Я не знаю, если я опаздываю, но это то, что я использую последние 3-4 года для резервного копирования моих данных в gdrive. Я просто нажимаю на иконку созданного мной пакетного файла, и нижняя строка является его частью. Это запустит Google Drive из пакетного файла. Надеюсь это поможет.

c:> Запустите C: \ Progra ~ 1 \ Google \ Drive \ google ~ 1.exe

Использование команды запуска не оставит черный ящик открыт :-)

Чтобы прекратить Google Drive

вы можете использовать команду из командной строки DOS

taskkill / f / im googledrivesync.exe

надеюсь это поможет.

Apoorva

Apoorva
источник
Если будет запущен второй диск Googletaskkill /f /im google~1.exe
MotsManish
0

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

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

Ansergy WECC
источник
-4

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

Автоматизация - Принудительно Google Drive для синхронизации файлов

Шунму Сундарам
источник
3
Можете ли вы объяснить более подробно, что это делает и сколько стоит? VirusTotal вышел в основном чистым, только один показывает, что это проблематично: Kingsoft Win32.Troj.IAgent.wt. (Kcloud) 20150211
вс
извините, но ваше приложение ничего не делает для меня. Это все еще графический (зависит от иконки в трее), и это периодический. Мне нужно что-то, что я могу запустить из командной строки и по требованию.
MelBurslan
Это ложное срабатывание. И не ваша ли цель получить последний файл до того, как задачи его заберут? Мое приложение просто сохраняет это свежим. Но если вы хотите, я могу отправить вам .exe, который просто перезапустит Google Drive без периодической работы. Таким образом, вы можете запустить его по требованию или по расписанию, как вы хотите.
Shunmugh Sundaram