Skip to content

Instantly share code, notes, and snippets.

@en129
Forked from chigirits/ytdlp-clipboard.bat
Last active March 10, 2026 13:47
Show Gist options
  • Select an option

  • Save en129/faf09fa7e6b67ad9cdaa4a621ed49e9b to your computer and use it in GitHub Desktop.

Select an option

Save en129/faf09fa7e6b67ad9cdaa4a621ed49e9b to your computer and use it in GitHub Desktop.
@echo off
rem 作成者:en129(https://x.com/en129)
rem 遅延環境変数を有効にする
setlocal enabledelayedexpansion
rem エスケープ文字を取得して変数ESCに格納(色付けの準備)
for /F %%a in ('echo prompt $E ^| cmd') do set "ESC=%%a"
rem カラー設定の定義
set "RED=!ESC![31m"
set "GREEN=!ESC![32m"
set "YELLOW=!ESC![33m"
set "CYAN=!ESC![36m"
set "RESET=!ESC![0m"
rem クリップボードからテキストを取得
set URL=
for /f "delims=" %%i in ('powershell -c "gcb -f text"') do (
set "URL=%%i"
)
rem クリップボードが空の場合は終了
if "!URL!"=="" (
echo !RED!クリップボードにテキストがありません。!RESET!
timeout /t 3 >nul
exit /b
)
rem テキストの先頭4文字を取得して「http」かどうか判定
set "prefix=!URL:~0,4!"
if /i not "!prefix!"=="http" (
echo !RED!クリップボードの内容はURLではありません。処理を中断します。!RESET!
echo !YELLOW!取得したテキスト: !URL!!RESET!
timeout /t 3 >nul
exit /b
)
echo !CYAN!URL: !URL!!RESET!
rem yt-dlpでURLを変換
set NEWURL=
for /f "usebackq delims=" %%A in (`%localappdata%low\VRChat\VRChat\Tools\yt-dlp.exe --quiet --get-url "!URL!"`) do set "NEWURL=%%A"
rem 変換に失敗した場合(結果が空の場合)は終了
if "!NEWURL!"=="" (
echo !RED!yt-dlpでのURL変換に失敗しました。!RESET!
pause
exit /b
)
rem 変換したURLをクリップボードにコピー
echo|set /p="!NEWURL!"|clip
rem 変換完了のメッセージ
echo.
echo !GREEN!変換完了!新しいURLをクリップボードにコピーしました。!RESET!
echo !YELLOW!変換後のURL:!RESET!
echo !CYAN!!NEWURL!!RESET!
timeout /t 3 >nul
exit /b
@en129
Copy link
Author

en129 commented Mar 8, 2026

フォーク元からの変更点
・変換後の文字列をコマンドとして扱う挙動があったのを修正した
・画面文字を色付けして見やすくした
・Cドライブ以外のディレクトリにbatファイルを置いても実行できるようにした
・クリップボードの文字があるか、httpから始まるか判定を追加した
・処理後3秒待ってからウィンドウを閉じるようにした

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment