rclone mountで接続先ごとにバッチを作ってもいいが予め接続先を3つほど作ってその中から番号で選びついでに自動でドライブレターも割り当てちゃうバッチ
@echo off
setlocal enabledelayedexpansion
rem 環境変数EXEPATHとrclone.confのパスを指定
rem rcloneのパス
set EXEPATH=D:\rclone\rclone.exe
rem rclone.confのパス
set CONFPATH=
rem cacheディレクトリのパス
set CACHEPATH=Z:\DL
rem 転送先の設定
set dest1=pcloudcrypt:
set dest2=pcloudcrypt2:
set dest3=googlecrypt2:
:path
if %CONFPATH%_v==_v (
set CONFIG=
) else (
set CONFIG=--config %CONFPATH%
)
goto cache
:cache
if %CACHEPATH%_v==_v (
set CACHE=
) else (
set CACHE=--cache-dir %CACHEPATH%
)
goto dest
rem ==マウントするリモート先の選択==
:dest
echo [1] %dest1% [2] %dest2% [3] %dest3% この中からマウントするリモートを選択
set /p num="1~3の中から選択 (1/2/3)"
if %num%_v == _v ( goto desterr )
if %num% == 1 (
set destDir="%dest1%"
) else if %num% == 2 (
set destDir="%dest2%"
) else if %num% == 3 (
set destDir="%dest3%"
) else (
goto desterr
)
goto dletter
:desterr
set /p check="1~3以外が選ばれたので選択し直す場合はyを入力、そのままenterを押すと終了します"
if %check%_w == _w ( goto syoriend )
if %check% == y (
set check=
goto dest
) else (
echo 指示に従わなかったため終了します
goto syoriend
)
:dletter
rem used_drivesを初期化
set "used_drives="
rem ドライブ一覧を取得してused_drivesに追加
for /f "tokens=1" %%L in ('wmic logicaldisk get caption ^| findstr /v "Caption"') do (
set "used_drives=!used_drives! %%L"
)
rem used_drivesの中身確認(デバッグ用)
echo 使用中のドライブ: !used_drives!
rem 空いているドライブを逆順で探す
for %%L in (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) do (
echo !used_drives! | findstr /c:"%%L:" >nul
if errorlevel 1 (
rem 見つからなければ空きドライブとして採用
set "DriveLetter=%%L"
echo 空きドライブレターにマウント: !DriveLetter!
goto jikkou
)
)
rem 空いているドライブが見つからなかった場合
echo 空いているドライブが見つかりませんでした。
goto syoriend
:jikkou
rem rcloneでマウントを行う
%EXEPATH% mount %destDir% !DriveLetter!: %CACHE% %CONFIG% ^
--vfs-cache-mode writes ^
--vfs-cache-max-size 1G ^
--vfs-cache-max-age 10m ^
--vfs-read-chunk-size 16M ^
--vfs-read-chunk-size-limit 128M ^
--dir-cache-time 1h ^
--volname "%destDir%"
goto syoriend
:syoriend
@echo.
@echo 処理完了 何かキーを押すと終了します
Pause > NUL
ENDLOCAL
Exit /b 0
あらかじめ dest1~dest3に接続先の設定をしておく
バッチを起動すると接続先1~3について聞かれるので数字を入力
あとは空いているドライブレターを自動的に割り当ててマウントしてくれるはず






コメントを残す