
私は仕事中に Google ドライブを使用して個人文書を同期しており、個人的な目的で自宅のファイルをすぐに更新する必要があります。自宅ではタスク マネージャーでタスクを実行しており、更新されたファイルを使用するため、時間に敏感な場合があります。
スケジュールされたタスクを開始する前に、自宅のコンピューターの Google ドライブ フォルダーを強制的に同期し、仕事中にそのファイルに対して行った最新の更新を取得するような設定を行う必要があります。
これまでのところ、私が調べた限りでは、Google ドライブをシャットダウンして再起動する以外に、同期を強制するにはトレイ アイコンから Google ドライブを一時停止して再起動する必要があるようです。試してみたところ、この方法は機能することがわかりましたが、コマンド ラインから同じ機能を再現する方法はありません。つまり、次のようなコマンド ライン スイッチはありません。
googledrivesync.exe /pause
または
googledrivesync.exe /restart
このマウスのポイントとクリックのジョブを実行するために自動ホットキー ジョブを設定しようとしましたが、トレイ アイコンの数が一定でないため、うまく機能するかどうかはわかりません。
また、taskkill を使用して googledrivesync.exe を終了し、再起動しようとしましたが、googledrivesync.exe の実行後、デスクトップに DOS ボックスが開いたままになります。これをさらに数回実行すると (自宅のコンピューター ジョブは 15 分ごとに実行されるため、この操作が実行されます)、これらのウィンドウの数が増えて画面全体が覆われ、スケジュールされたタスクの実行が妨げられます。
その他のアイデアや文書化されていない Google ドライブの機能があれば、ぜひお知らせください。
答え1
サービスを終了するメソッドはすでに存在し、唯一の問題はスタブ cmd ウィンドウであるため、次のような小さなバッチ スクリプトを作成するだけです。
- メソッドを実行してサービスを再起動する
- 殻を死滅させる。
このようなもの:
taskkill /fi "Service eq Google Sync"
exit
答え2
- GoogleDriveSync プロセスを強制終了する
- コマンドプロンプトで、c:\program files\Google\drive\ フォルダに移動します。
- googledrivesync.exe /autostart を実行します。
答え3
これは古い質問です。しかし、同じ問題を検索していたときにこれが表示されたので、私が行ったことは次のとおりです。
OP が 'googledrivesync.exe /restart' に対して望んでいることを実行する小さな C# アプリ
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 ドライブで強制的に同期する方法は 1 つしかありません。Google が同期できない (破損しているなど)「競合するファイル」が必要です。次に、Gdrive アイコンを右クリックし、「同期できないファイルの表示」を選択して、「再試行」をクリックします。
毎回動作し、15 台のクラウド サーバーを相互に同期しています。面倒です。再同期を強制するオプションがあるはずですが、なぜそれがないのかは誰もが知っています。帯域幅の問題です。Google はコストを削減するために再同期の頻度を下げました。単純明快です。