オンラインストレージのGoogleDriverをコマンドラインで操作してバッチ化を試みる
データのバックアップに使っていましたが、データをコピーして圧縮、ネットにUPするという
この作業をなんとかクリック一回だけにできないかと思い作成することに
同期化すればコマンドラインを使わなくても自分のフォルダみたいな感覚でつかえるようになるので
実際はGoogleDriverをコマンドラインで使用する意味ってないような気もしますが・・・
Windows10 64bitPCを使用して確認しています
そもそもグーグルドライブとはなにかというと
ネット上にデータを保存したり共有できるオンラインハードディスク?みたいなものです
GoogleDriveサイト→https://www.google.com/intl/ja_ALL/drive/
ドラッグ&ドロップでデータを入れたり削除できる優れものです
とくに何かソフトをいれなければいけないわけではありませんがパソコンと同期して
ハードディスクドライブのように使うためにはソフトのダウンロードとインストールが必要となります
使える容量は15GB無料で使用できます。課金して容量を増やすこともできます。
GoogleDriveにコマンドラインでアクセスする為のソフトが必要となります
今回はgdriveというソフトを使用します
ダウンロードサイト→https://github.com/prasmussen/gdrive
サイトを下にスクロールしていくとWindows用のソフトがあるので適切な物を選びます
今回はgdrive-windows-x64.exe を使用します
ダウンロードしたファイルを解凍して適当な位置にフォルダを置いてください
コマンドプロンプトを開きます
windowsの検索ボックスからcmdといれたらたぶん出てきます
カレントディレクトリを先ほど展開したフォルダに変更します
今回はCドライブ直下に展開したと仮定して進めていきます
cd C:\gdrive
と打ち込んでフォルダを移動したあとgdriveを起動させます
一番最初は認証設定が必要になるのでなんでもいいのでコマンドオプションを使用します
今回は list コマンドを使います
gdrive-windows-x64 list
下記のようなメッセージがでてきて何かcodeの入力待ちになります
この赤枠内の https://〜〜〜 の部分をコピーしてブラウザのURLに貼り付けましょう
URL先にいくとcodeが書いてあるのでそれをコマンドプロンプトに入力します
すると下記のようにGoogleDriveにアクセスでき、中のファイルが見ることがでます
以上でコマンドラインからGoogleDriveが使用可能になりました
実際にファイルのダウンロードとアップロードをして試してみます
ファイルダウンロードコマンド
gdrive-windows-x64 download 【ファイルID】
ファイルアップロードコマンド
gdrive-windows-x64 upload 【ファイル名】
ダウンロードの場合はファイルIDになるので注意してください
下記図はダウンロードとアップロードをしたあとの図です
今回はアップロードだけ出来ればいいので実際にアップロードできているかブラウザで確認します
text.txtというファイルを作りアップロードしています
ちゃんとアップロードできているみたいです。
コマンドラインを使用してのアクセスはこれで終了です。
あとはバッチファイルを作成します
GoogleDriveでコマンドラインを使おうとして失敗した事を下記に残しておきます
まず最初にgdriveではなく googlecl というソフトを使用してコマンドラインで実行しようとしたこと
以前はgoogleclでも認証することができたみたいだが
googleclダウンロードサイト → https://code.google.com/archive/p/googlecl/
ここのサイトで実行ファイルをダウンロードして試してみた結果認証されず下記のようなエラーがでた
ユーザ名を聞かれたのでグーグルメールのユーザ名をいれればいいはずだが認証されない
どうやら認証する為のOAuth2.0に対応してないらしくgoogleclは現在使うことができないらしい
ネットでいろいろと調べたが、googleclを使ってる古いサイトが多くかなり迷った
PC同期機能があるのでそもそもwindowsからグーグルドライブをコマンドラインで使う人が少ない
認証機能の削除方法ついてのメモ
削除する場合はグーグルのアカウントにログインをしてログインとセキュリティ画面に行き
https://myaccount.google.com/security ←ログインとセキュリティ
接続済みのアプリとサイトからGDriveを削除する
これがうまくいかなかった。英語のサイトをみたら削除した場合は完全に削除されているわけではなく
認証データが残っているのでそれも削除してくださいみたいなことを書いていたが
その場所が書いていなかった、ファイル名も不明だったため少し探すことになった
まずエクスプローラの隠しファイルを表示にする
C→ユーザ→Appdate→Roming→.gdriveという中に認証ファイルがあるのでそれを削除しないといけない
これで再度登録できるようになった
コマンドラインから圧縮する為のソフトが必要になります
zipファイルならwindows10標準のものがありますが
せっかくなので圧縮率の良い 7z で圧縮したいと思います
7zダウンロード→https://sevenzip.osdn.jp/download.html
このサイトのコマンドラインとかいているファイルを落とし下さい
ダウンロードして適当な所に解凍します .7z で解凍されているのでまず通常の.exeを落としてから
でないと解凍できないかもしれません
解凍したフォルダ内に
7za.exe というファイルがあるのでそれをコマンドラインで使用します
メモ帳で新規さくせいして中身を書いていきます
今回は VisualStudio のプログラムファイル類のバックアップをとってそれをネットにUPすることにします
下記バッチファイルの中身です
流れとしては
カレントディレクトリをバッチファイルを開いた場所にする
cd /d %~dp0
ファイルをコピーする(一旦コピーするのはオリジナルファイルを守る為です)
XCOPY %copypath% %filename% /d /e /h /r /y /i
コピーしたファイルで圧縮する
7z1700-extra\x64\7za.exe a -p%pass% %filename_as% %filename%\%*
圧縮するときに日付データをつけていれることによっていつバックアップを取ったかわかりやすくなります
%date:~0,4%%date:~5,2%%date:~8,2%.7z
この部分のdateというのが日付でdateには 20xx/xx/xxの形式で入っている
スラッシュ部分をけしてファイル名にくっつけています
あと圧縮するときにパスワードをつけています
SET pass="tekitou" ←この部分でパスワードつくって -p オプションでパスワードをつけてます
ファイルをアップロードする
gdrive\gdrive-windows-x64 upload %filename_as%
この部分はgdriveのコマンドをつかえるようになったので 作成した7zファイルをアップしているだけです
ちなみに圧縮するときに拡張子をzipに変えると圧縮方法を変更することができます
最後に作成ファイルを消します(手元に残しておきたいときは消さなくてもいいです)
rd /s /q %filename% ←コピーしたフォルダを削除
del %filename_as% ←圧縮したファイルを削除
以上になります
最後に一言
バッチをつくることによって
本来ならデータをバックアップするフォルダまでいって圧縮
ブラウザを開いてグーグルドライバにログインしてアクセス
圧縮ファイルをアップデート
作ったファイルを削除
という一連のながれをクリック一回でできるようになります、バッチファイルって便利!
しかもこれをウィンドウズタスクに登録して定期的に実行させれば
定期的にバックアップをとってネットに保存することができます
ただこれをwindowsでやってるひとは少ないようです
最初にもいったとおりgoogledriverにはwindowsPC同期用のソフトが配布されており
しかもソフトで自動バックアップもできるらしい
コマンドラインからやっているのはMACやLINUXのようなOSみたいです
バッチファイルを使うと作業効率が格段にあがるので
今まで興味がなかった人も作成してみてはいかがでしょうか
ただバッチファイルはコマンドを間違えると問答無用でファイルを消したりするので注意が必要です