前書き
ある特定のYouTube動画を数分おきに見たいこと、ありますよね⁇
そんな悩みを解決するbatファイルを作成してみました。
5分で考え付いた仕組みなので質は良いとは言えませんが、悪しからず…
※尚、自分が投稿した動画では再生回数がカウントされることを確認しましたが、収益化しているわけではないので、収益化されるような動画でしっかりとカウントされるかの保証はできません。
記載例
①使用ブラウザが「Google Chrome」の場合
for /l %%n in (1,1,100) do (
start <視聴したい動画のURL>
timeout /t 720 /nobreak
taskkill /F /IM chrome.exe /T
timeout /t 120 /nobreak
)
②使用ブラウザが「Microsoft Edge」の場合
for /l %%n in (1,1,100) do (
start <視聴したい動画のURL>
timeout /t 720 /nobreak
taskkill /F /IM MicrosoftEdge.exe /T
timeout /t 120 /nobreak
)
解説
まず、batファイルは基本上から1行ずつ実行されます。
今回の例で言えば、
for /l %%n in (1,1,100) do (
というコマンド(処理)が最初に実行されるわけです。
では、上から1行ずつ見ていきます。
■1行目&6行目
for /l %%n in (1,1,100) do (
1行目はFORコマンド
を用いています。
あまり詳しいことに首を突っ込むと混乱すると思うので簡潔に言うと、
「指定した範囲内にあるコマンドを指定した回数だけ繰り返し実行する」
という処理を実行します。
「なんか繰り返すんだ~」くらいに認識してもらえれば良いと思います。
「指定した範囲内にあるコマンド」
→1行目最後にある「(」から6行目にある「)」までに記載されているコマンドのこと
「指定した回数」
→「(1,1,100)」と並んだ3つの数字のうち、一番最後の「100」という数字のこと
⇒つまり、100回繰り返すことになります。
■2行目
start <視聴したい動画のURL>
2行目はSTARTコマンド
を用いています。
意味としては、
「指定したアプリケーション等を呼び出す・実行する」
という認識で一旦は良いと思います。
今回は、start
の後ろに<視聴したい動画のURL>
を指定しているので、
2行目が実行されることで、
その動画ページにアクセスし、動画を再生する
という動きをします。
基本、YouTubeはページを開いたら自動で動画が再生されるので、これだけでOKなはずです。
■3行目&5行目
timeout /t 720 /nobreak
3行目と5行目ではTIMEOUTコマンド
を用いています。
意味としては、
「指定した秒数待機する」
という意味になります。
/t
の後ろに「720」という数字がありますが、これは「720秒」を表しています。
そして、その後ろに/nobreak
と記載がありますが、これは「指定した秒数の間は何かキーを押されても待機を続行する」ということを表しています。
つまり、「その動画を再生中にその他の作業を実施しても問題ない」 ということになります。
では、もしTIMEOUTコマンド
がなかった場合、どうなるでしょうか?
それは4行目のコマンドとの関係で理解できます。
■4行目
taskkill /F /IM chrome.exe /T
4行目ではTASKKILLコマンド
を用いています。
意味としては、
「指定したタスク(プロセス)を終了させる」
という意味になります。
上記の例で言えば、
「Google Chromeを終了させる」
という処理を実行しているわけです。
TIMEOUTコマンド
の説明で、4行目のコマンドと関係があると記載しましたが、
もしTIMEOUTコマンド
がなかった場合、2行目のSTARTコマンド
を実行した直後に4行目のTASKKILLコマンド
が実行されることになります。
今回の例で分かりやすく説明するならば、
「Google Chromeを起動した直後にGoogle Chromeが終了させられる」
という挙動です。
本来の目的は動画を再生したいことなので、それでは困りますよね?
特定の秒数が経過するまで、次のコマンドが実行されないようにする必要があるので、TIMEOUTコマンド
が必須になるのです。
流れのまとめ
上記の例の通りに作成した場合、
batファイルを起動(ダブルクリック)すると下記の流れで実行されます。(自動で)
①視聴したい動画のURLにアクセス
②指定した秒数が経過するまで①でアクセスしたページに留まる
③指定した秒数経過後、ブラウザを強制終了
④指定した秒数だけ何もしない待機時間
⑤①に戻る(1行目で指定した回数だけ繰り返される)
試しに…
記載例を上述したからといっても、「batファイルなんて初めて聞いた。。」という人からしたらハードルが高いと思います。
なので一旦、下記の例をそのままコピー&ペーストして試してみましょう。
とある動画が見れます
batファイルをダブルクリックしてから720秒後に勝手にウェブブラウザが終了するはずです
▼既定のウェブブラウザがGoogle Chromeの場合
for /l %%n in (1,1,100) do (
start https://youtu.be/YJRFD1AdaUE
timeout /t 720 /nobreak
taskkill /F /IM chrome.exe /T
timeout /t 120 /nobreak
)
▼既定のウェブブラウザがMicrosoft Edgeの場合
for /l %%n in (1,1,100) do (
start https://youtu.be/YJRFD1AdaUE
timeout /t 720 /nobreak
taskkill /F /IM MicrosoftEdge.exe /T
timeout /t 120 /nobreak
)
(補足)batファイルの作り方
①まずメモ帳を開きます。
<メモ帳の開き方>
(1)「Windowsキー」と「R」を同時に押す
(2)『ファイル名を指定して実行』というウィンドウが出てくるので【名前】欄に「notepad」と入力する
(3)【OK】をクリックする
③左上の【ファイル】をクリックし、【名前を付けて保存】をクリックする