Kantokoの部屋

主にエミュ関係を取り扱ってます サーバー構築からプレイまで
メイン
エミュ鯖構築
エミュ鯖で遊ぶ
エミュ鯖をいじる
その他
連絡・雑談

 

アクセスカウンター
Google Driveをコマンドラインで操作する

 

オンラインストレージのGoogleDriverをコマンドラインで操作してバッチ化を試みる

 

データのバックアップに使っていましたが、データをコピーして圧縮、ネットにUPするという

この作業をなんとかクリック一回だけにできないかと思い作成することに

 

同期化すればコマンドラインを使わなくても自分のフォルダみたいな感覚でつかえるようになるので

実際はGoogleDriverをコマンドラインで使用する意味ってないような気もしますが・・・

 

Windows10 64bitPCを使用して確認しています

 

コンテンツ

 

1GoogleDriveをコマンドラインで使えるようにする

2.コピーして圧縮するバッチを作成する

3.GoogleDriveをコマンドラインで使用したバッチを作成する

 

 

そもそもグーグルドライブとはなにかというと

ネット上にデータを保存したり共有できるオンラインハードディスク?みたいなものです

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でコマンドラインを使おうとして失敗した事を下記に残しておきます

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することにします

 

下記バッチファイルの中身です

@echo off
echo -------------------------------------------
echo VSのバックアップとGoogleDriveにアップします
echo -------------------------------------------
echo バッチファイルを実行します

rem セーブデータの場所が違う時は変更してください(特にユーザー名)

set copypath="C:\Users\USER\Documents\Visual Studio 2015"
set filename="Visual Studio 2015"
set filename_as="VisualStudio2015_バックアップ_%date:~0,4%%date:~5,2%%date:~8,2%.7z"
SET pass="tekitou"

echo ファイルコピー
cd /d %~dp0
XCOPY %copypath% %filename% /d /e /h /r /y /i

echo ファイル圧縮
7z1700-extra\x64\7za.exe a -p%pass% %filename_as% %filename%\%*

echo ファイルアップロード
gdrive\gdrive-windows-x64 upload %filename_as%

echo ファイル削除
rd /s /q %filename%
del %filename_as%
pause

 

流れとしては

カレントディレクトリをバッチファイルを開いた場所にする

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みたいです

 

バッチファイルを使うと作業効率が格段にあがるので

今まで興味がなかった人も作成してみてはいかがでしょうか

ただバッチファイルはコマンドを間違えると問答無用でファイルを消したりするので注意が必要です

 

 

copyright (c) All right reserved