如何从 Windows 7 命令提示符强制 Google Drive 同步

如何从 Windows 7 命令提示符强制 Google Drive 同步

我在工作时使用 Google Drive 同步个人文档,但出于个人目的需要快速更新家中的文件。我在家中使用任务管理器运行任务,这些任务使用这些更新的文件,有时这些文件对时间敏感。

我需要设置一些内容,以便在我上班时启动计划任务之前强制同步我家用电脑的 Google Drive 文件夹,并获取我对该文件所做的最新更新。

到目前为止,我的所有搜索都指向从托盘图标暂停并重新启动 Google Drive,以强制同步,而不是关闭并重新启动它。我尝试过并发现此方案有效,但无法从命令行复制相同的功能,即没有这样的命令行开关:

googledrivesync.exe /pause 

或者

googledrivesync.exe /restart

我尝试设置一个自动热键作业来执行此鼠标指向和单击作业,但由于托盘图标数量不一致,因此在最好的情况下也只是碰运气。

我还尝试使用 taskkill 杀死 googledrivesync.exe 并重新启动它,但是,在运行 googledrivesync.exe 后,它会在桌面上留下一个打开的 DOS 框。如果再这样做几次(而且它确实会这样做,因为我的家用电脑工作每 15 分钟运行一次),这些窗口的数量会因为覆盖整个屏幕而阻碍我计划任务的运行。

非常感谢任何其他想法或未记录的 Google Drive 功能。

答案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# 应用程序,可以执行 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");
    }
  }
}

答案4

只有一种方法可以强制在 Google Drive 中同步。您需要有一个 Google 无法同步的“冲突文件”(已损坏或其他原因)。然后右键单击 Gdrive 图标,选择“查看无法同步的文件”,然后单击“重试”。

每次都有效,并且正在同步 15 个云服务器。真烦人,他们应该有一个强制重新同步的选项,但我们都知道他们为什么不这样做——带宽。谷歌已经降低了重新同步频率以降低成本,就是这么简单。

相关内容