View Categories

VRヘッドセットへのファイル一括コピーを自動化する方法|adbスクリプトでVR動画・config.txt・ロゴ画像をまとめて転送(Windows/Mac対応)

複数台(十数〜数十台)のVRヘッドセットに、VR動画・設定ファイル・ロゴ画像などを1台ずつ手作業でコピーするのは大きな手間です。本記事では、ターミナルアプリからコマンドを1回実行するだけで、必要なファイルをまとめて転送できるスクリプトを紹介します。Windows用・Mac用の両方を用意しておりますが、AI検索などを利用して、お使いの環境に応じて適宜修正してご利用ください。

adbスクリプト

この記事でわかること #

  • ターミナルアプリを使い、VRヘッドセットへのファイル転送をワンステップで自動化する方法
  • Windows用・Mac用それぞれのスクリプトのひな形と、実行手順
  • ファイルパスなど、ご自身の環境に合わせてスクリプトを書き換える方法
  • 実行時によくあるエラーの原因と対処法

こんな場面で役立ちます #

  • 台数が多く(十数台〜数十台)、毎回の手作業コピーが負担になっている場合
  • 複数のVRヘッドセットに、同じVR動画・config.txt・ロゴ画像を短時間で配布したい場合
  • ヘッドセット準備作業の中で、ファイルコピーの工程だけを効率化したい場合

準備作業全体の流れは、以下の記事で6ステップに分けて解説しています。
関連記事:複数のVRヘッドセットでVR動画を一斉再生する準備方法

事前に知っておきたい用語 #

用語意味
ターミナルアプリパソコンをコマンド(文字入力)で操作するためのアプリ。Windowsでは「コマンドプロンプト」、Macでは「ターミナル」と呼ばれます
adb(Android Debug Bridge)パソコンとAndroid系デバイス(VRヘッドセットを含む)の間でファイル転送やコマンド操作を行うためのツール
スクリプトファイル複数のコマンドをあらかじめまとめて書いておき、まとめて自動実行できるようにしたファイル(Windowsは.bat、Macは.sh)
config.txtShowtime VRプレーヤーアプリの動作(デバイス名、自動起動、Wi-Fi情報など)を設定するテキストファイル
ファイルパスファイルがパソコン内のどこに保存されているかを示す住所のような文字列

このスクリプトで自動転送できる4つのファイル #

  1. VR動画ファイル
  2. 設定ファイル(config.txt)
  3. 待機画面用のロゴ画像(logo.png)
  4. 背景(スカイボックス)画像(skybox.jpg)

このうち、2の設定ファイルの内容は特に重要です。詳しくは以下の記事をご覧ください。

事前準備(共通) #

スクリプトを実行する前に、以下を準備しておきます。

  1. VRヘッドセットとパソコンをUSBケーブルで接続し、開発者モード・USBデバッグをONにしておく
  2. adbコマンドが使える状態にしておく(Windows・Macそれぞれの設定方法は後述)
  3. 転送したいファイル(動画・config.txt・logo.png・skybox.jpg)を、パソコン内の同じフォルダにまとめておく

対応機種について:本記事のスクリプトはMeta Quest 2/3/3sに限らず、Showtime VRプレーヤーアプリが動作するAndroid系VRヘッドセット(Pico G3など)であれば利用可能です。スクリプト内のDEVICE_NAMEは画面に表示される名称(ラベル)にすぎず、動作条件を限定するものではありません。

【Windows編】スクリプトの使い方 #

  1. 以下のコードをコピーし、拡張子.batのテキストファイルとして保存します(例:Win_svr_file_copy.bat)。
  2. コード内のXXXXXXの部分を、ご自身のパソコンのユーザー名に書き換えます。ファイルパスの確認方法は以下を参考にしてください。
  3. adbコマンドが使える状態になっていることを確認します。未設定の場合は以下を参考にセットアップしてください。
  4. 保存した.batファイルを、ターミナルアプリ(コマンドプロンプトなど)のウィンドウにドラッグ&ドロップします。自動的にファイル転送が始まります。
@echo off
chcp 65001 >nul

REM --- 「XXXXXX」の部分は、お使いのパソコンごとに異なります。---

REM --- 設定・VR動画ファイルのパス---
set "LOCAL_FILE=C:\Users\XXXXXX\Desktop\SVR_files\svr_test.mp4"
set "QUEST_PATH=/sdcard/Showtime VR/Videos/2D"

REM --- 設定・Showtime VRのプレーヤーアプリで使用する設定ファイルconfig.txtの送信元パスと送り先パス---
set "CONFIG_FILE=C:\Users\XXXXXX\Desktop\SVR_files\config.txt"
set "CONFIG_PATH=/sdcard/Showtime VR"

REM --- 設定・Showtime VRの待機画面で表示するロゴ画像の送信元パスと送り先パス---
set "LOGO_FILE=C:\Users\XXXXXX\Desktop\SVR_files\logo.png"
set "LOGO_PATH=/sdcard/Showtime VR/Branding"

REM --- 設定・Showtime VRの待機画面で表示する背景画像の送信元パスと送り先パス---
set "SKYBOX_FILE=C:\Users\XXXXXX\Desktop\SVR_files\skybox.jpg"
set "SKYBOX_PATH=/sdcard/Showtime VR/Branding"

set "DEVICE_NAME=Quest 3"

REM --- ADB接続確認 ---
echo 接続中のデバイスを確認します...
adb get-state | findstr /C:"device" >nul
if errorlevel 1 (
    echo エラー:%DEVICE_NAME% が接続されていません。USBケーブルを確認し、USBデバッグがONであることを確認してください。
    exit /b 1
)

REM --- 動画ファイル送信 ---
if not exist "%LOCAL_FILE%" (
    echo エラー:動画ファイルが見つかりません:%LOCAL_FILE%
    exit /b 1
)
echo 動画ファイル %LOCAL_FILE% を %DEVICE_NAME% (%QUEST_PATH%) に送信します...
adb push "%LOCAL_FILE%" "%QUEST_PATH%"
if errorlevel 1 (
    echo エラー:動画ファイル送信に失敗しました。パスや接続状態を確認してください。
    exit /b 1
) else (
    echo 完了:動画ファイル送信が完了しました:%LOCAL_FILE% → %QUEST_PATH%
)

REM --- configファイル送信 ---
if not exist "%CONFIG_FILE%" (
    echo エラー:configファイルが見つかりません:%CONFIG_FILE%
    exit /b 1
)
echo configファイル %CONFIG_FILE% を %DEVICE_NAME% (%CONFIG_PATH%) に送信します...
adb push "%CONFIG_FILE%" "%CONFIG_PATH%"
if errorlevel 1 (
    echo エラー:configファイル送信に失敗しました。パスや接続状態を確認してください。
    exit /b 1
) else (
    echo 完了:configファイル送信が完了しました:%CONFIG_FILE% → %CONFIG_PATH%
)

REM --- logoファイル送信 ---
if not exist "%LOGO_FILE%" (
    echo エラー:logoファイルが見つかりません:%LOGO_FILE%
    exit /b 1
)
echo logoファイル %LOGO_FILE% を %DEVICE_NAME% (%LOGO_PATH%) に送信します...
adb push "%LOGO_FILE%" "%LOGO_PATH%"
if errorlevel 1 (
    echo エラー:logoファイル送信に失敗しました。パスや接続状態を確認してください。
    exit /b 1
) else (
    echo 完了:logoファイル送信が完了しました:%LOGO_FILE% → %LOGO_PATH%
)

REM --- skyboxファイル送信 ---
if not exist "%SKYBOX_FILE%" (
    echo エラー:skyboxファイルが見つかりません:%SKYBOX_FILE%
    exit /b 1
)
echo skyboxファイル %SKYBOX_FILE% を %DEVICE_NAME% (%SKYBOX_PATH%) に送信します...
adb push "%SKYBOX_FILE%" "%SKYBOX_PATH%"
if errorlevel 1 (
    echo エラー:skyboxファイル送信に失敗しました。パスや接続状態を確認してください。
    exit /b 1
) else (
    echo 完了:skyboxファイル送信が完了しました:%SKYBOX_FILE% → %SKYBOX_PATH%
)

【Mac編】スクリプトの使い方 #

  1. 以下のコードをコピーし、拡張子.shのテキストファイルとして保存します(例:Mac_svr_file_copy.sh)。
  2. コード内のXXXXXXの部分を、ご自身のMacのユーザー名に書き換えます。ファイルパスの確認方法は以下を参考にしてください。
  3. adbコマンドが使える状態になっていることを確認します。未設定の場合は以下を参考にセットアップしてください。
  4. 保存した.shファイルを、ターミナルアプリのウィンドウにドラッグ&ドロップします。自動的にファイル転送が始まります。
#!/bin/bash

# --- 「XXXXXX」の部分は、お使いのパソコンごとに異なります。---

# --- 設定 ---
LOCAL_FILE="/Users/XXXXXX/Desktop/SVR_files/svr_test.mp4"             # Mac上の送信したい動画ファイルパス
QUEST_PATH="/sdcard/Showtime VR/Videos/2D"                          # VRヘッドセット側の送り先フォルダ

CONFIG_FILE="/Users/XXXXXX/Desktop/SVR_files/config.txt"              # Mac上の送信したいconfig.txtのパス
CONFIG_PATH="/sdcard/Showtime VR"                                   # VRヘッドセット側の送り先フォルダ

LOGO_FILE="/Users/XXXXXX/Desktop/SVR_files/logo.png"                  # Mac上の送信したいlogo.pngのパス
LOGO_PATH="/sdcard/Showtime VR/Branding"                            # VRヘッドセット側の送り先フォルダ

SKYBOX_FILE="/Users/XXXXXX/Desktop/SVR_files/skybox.jpg"              # Mac上の送信したいskybox.jpgのパス
SKYBOX_PATH="/sdcard/Showtime VR/Branding"                          # VRヘッドセット側の送り先フォルダ

DEVICE_NAME="Quest 3"

# --- 接続確認 ---
echo "接続中のデバイスを確認します..."
adb get-state 2>/dev/null | grep -q "device"
if [ $? -ne 0 ]; then
  echo "エラー:$DEVICE_NAME が接続されていません。USBケーブルを確認し、USBデバッグがONであることを確認してください。"
  exit 1
fi

# --- 動画ファイル送信 ---
if [ ! -f "$LOCAL_FILE" ]; then
  echo "エラー:動画ファイルが見つかりません:$LOCAL_FILE"
  exit 1
fi

echo "動画ファイル $LOCAL_FILE を $DEVICE_NAME ($QUEST_PATH) に送信します..."
adb push "$LOCAL_FILE" "$QUEST_PATH"
if [ $? -eq 0 ]; then
  echo "完了:動画ファイル送信が完了しました:$LOCAL_FILE → $QUEST_PATH"
else
  echo "エラー:動画ファイル送信に失敗しました。パスや接続状態を確認してください。"
  exit 1
fi

# --- configファイル送信 ---
if [ ! -f "$CONFIG_FILE" ]; then
  echo "エラー:configファイルが見つかりません:$CONFIG_FILE"
  exit 1
fi

echo "configファイル $CONFIG_FILE を $DEVICE_NAME ($CONFIG_PATH) に送信します..."
adb push "$CONFIG_FILE" "$CONFIG_PATH"
if [ $? -eq 0 ]; then
  echo "完了:configファイル送信が完了しました:$CONFIG_FILE → $CONFIG_PATH"
else
  echo "エラー:configファイル送信に失敗しました。パスや接続状態を確認してください。"
  exit 1
fi

# --- logoファイル送信 ---
if [ ! -f "$LOGO_FILE" ]; then
  echo "エラー:logoファイルが見つかりません:$LOGO_FILE"
  exit 1
fi

echo "logoファイル $LOGO_FILE を $DEVICE_NAME ($LOGO_PATH) に送信します..."
adb push "$LOGO_FILE" "$LOGO_PATH"
if [ $? -eq 0 ]; then
  echo "完了:logoファイル送信が完了しました:$LOGO_FILE → $LOGO_PATH"
else
  echo "エラー:logoファイル送信に失敗しました。パスや接続状態を確認してください。"
  exit 1
fi

# --- skyboxファイル送信 ---
if [ ! -f "$SKYBOX_FILE" ]; then
  echo "エラー:skyboxファイルが見つかりません:$SKYBOX_FILE"
  exit 1
fi

echo "skyboxファイル $SKYBOX_FILE を $DEVICE_NAME ($SKYBOX_PATH) に送信します..."
adb push "$SKYBOX_FILE" "$SKYBOX_PATH"
if [ $? -eq 0 ]; then
  echo "完了:skyboxファイル送信が完了しました:$SKYBOX_FILE → $SKYBOX_PATH"
else
  echo "エラー:skyboxファイル送信に失敗しました。パスや接続状態を確認してください。"
  exit 1
fi

スクリプトの中身を自分用にカスタマイズする方法 #

  • ファイルパスの変数(LOCAL_FILE、CONFIG_FILE、LOGO_FILE、SKYBOX_FILE)を書き換えるだけで、任意のファイル名・保存場所に対応できます。
  • 転送先パス(QUEST_PATH、CONFIG_PATHなど)は、Showtime VRプレーヤーアプリのフォルダ構成に対応しています。詳しくは以下をご覧ください。
  • DEVICE_NAMEは画面表示用のラベルなので、複数機種を扱う場合は機種名や個体番号(例:Quest3s-01)に書き換えておくと、実行結果が確認しやすくなります。
  • ChatGPTなどの生成AIチャットツールにスクリプトを読み込ませれば、エラーの原因調査やカスタマイズの相談も進めやすくなります。

よくあるエラーと対処法 #

または、各種AI検索を活用してトラブルシューティングを行ってください。

表示されるメッセージ主な原因対処法
○○が接続されていませんUSBケーブルが未接続/開発者モードがOFF/パソコン側でUSBデバッグの許可がまだ承認されていないケーブルを接続し直し、VRヘッドセット側で表示される許可ダイアログを承認する
ファイルが見つかりません指定したパスが誤っている、またはファイルがそのパスに存在しないスクリプト内のパスと、実際のファイルの保存場所を再確認する
送信に失敗しました転送中にUSB接続が途切れた、送り先フォルダが存在しないケーブル接続を確認し、再実行する

よくある質問(FAQ) #

Q. このスクリプトはPico G3など、Meta Quest以外の機種でも使えますか?
A. はい。Showtime VRプレーヤーアプリが動作するAndroid系VRヘッドセットであれば、機種を問わず利用できます。スクリプト内のDEVICE_NAMEは表示用のラベルにすぎません。

Q. VR動画以外のファイルだけ転送することはできますか?
A. はい。不要な項目のブロック(動画・config・logo・skyboxそれぞれの送信部分)を削除、またはコメントアウトすれば、必要なファイルだけを転送するスクリプトに調整できます。

Q. 手作業でコピーする場合と比べて、どのくらい効率化できますか?
A. 台数が増えるほど効果が大きくなります。1台あたり複数ファイルをフォルダ操作でコピーする手間が、ドラッグ&ドロップ1回にまとまります。5台以上を扱う場合はスクリプトの利用をおすすめします。

Q. スクリプト実行時にセキュリティソフトの警告が表示されることはありますか?
A. 環境によっては、未署名のスクリプトファイルとして警告が出る場合があります。信頼できる自作ファイルであることを確認のうえ、実行を許可してください。

投稿者プロフィール #

Showtime VR Japan
Showtime VR Japan
Showtime VRとは、複数台のVRヘッドセットの一斉・同時動画再生や、状態監視が行えるシステムです。管理者が360度動画を一括制御し自由に再生できることで、参加者はまるでその場にいるかのような体験をすることで、より有意義な研修や学習をすることが可能です。Showtime VRとは?

サイト運営:合同会社幸楽社
Showtime VR公式Trustedパートナー & 認定日本国内独占販売事業者
東京都三鷹市