Last active
April 19, 2020 11:39
-
-
Save muink/4934c624d6992824f667677c6de56117 to your computer and use it in GitHub Desktop.
U+B+隐藏区挂载工具
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
:: U+B+隐藏区挂载工具 | |
:: 用于挂载UtlraISO/BOOTICE隐藏分区 | |
:: Author: muink | |
@echo off | |
%~1 mshta vbscript:createobject("shell.application").shellexecute("%~f0","::","","runas",1)(window.close)&exit | |
color 3b | |
title U+B+隐藏区挂载工具 | |
:check | |
bootpart -help>nul 2>nul | |
if "%errorlevel%" == "9009" call:[CheckPath] | |
:init | |
bootpart -eject | |
call:[GetLetter] frelter | |
:menu | |
cls | |
echo. | |
echo. | |
echo. 建议安装 UtlraISO 9.6 以上版本 | |
echo. | |
echo. 空闲盘符 [ %frelter% ] | |
echo. | |
echo. | |
echo. | |
echo. [e] 刷新页面 | |
echo.%frelter%|findstr /i ".*[a-z,A-Z].*">nul&&( | |
if not defined atidrv ( | |
echo. [r] 只读挂载隐藏区 | |
echo. [w] 读写挂载隐藏区 | |
) | |
if defined atidrv ( | |
echo. [o] 打开隐藏区 | |
echo. [u] 卸载隐藏区 | |
) | |
)||echo.&&echo. [?] 没有空闲盘符? | |
echo. | |
echo. | |
set choose= | |
set /p choose=选择: | |
if "%choose%"=="e" goto :case_%choose% | |
echo.%frelter%|findstr /i ".*[a-z,A-Z].*">nul&&( | |
if not defined atidrv ( | |
if "%choose%"=="r" goto :case_%choose% | |
if "%choose%"=="w" goto :case_%choose% | |
) | |
if defined atidrv ( | |
if "%choose%"=="o" goto :case_%choose% | |
if "%choose%"=="u" goto :case_%choose% | |
) | |
) | |
goto :menu | |
:case_e | |
cls | |
call:[GetLetter] frelter | |
goto :menu | |
:case_o | |
cls | |
start "" "%atidrv%:" | |
goto :menu | |
:case_r | |
cls | |
bootpart -eject | |
call:[AssignLetter] | |
bootpart -mount -readonly -driveletter %atidrv%:||echo.挂载失败..&&set atidrv= | |
ping -n 5 127.0.0.1>nul | |
call:[GetLetter] frelter | |
goto :menu | |
:case_w | |
cls | |
bootpart -eject | |
call:[AssignLetter] | |
bootpart -mount -driveletter %atidrv%:||echo.挂载失败..&&set atidrv= | |
ping -n 5 127.0.0.1>nul | |
call:[GetLetter] frelter | |
goto :menu | |
:case_u | |
cls | |
bootpart -eject | |
set atidrv= | |
call:[GetLetter] frelter | |
goto :menu | |
:[CheckPath] | |
cls | |
echo. | |
echo. | |
echo. 未配置环境变量 | |
echo. 建议安装 UtlraISO 9.6 以上版本 | |
echo. | |
echo. 如果已安装请在此输入UtlraISO安装路径 | |
echo. 例如 C:\Program Files (x86)\UltraISO | |
echo. | |
echo. | |
set UPath=C:\Program Files (x86)\UltraISO | |
set /p UPath=在此输入: | |
for /f "delims=" %%i in ("%UPath%") do ( | |
if not exist "%%~i\drivers\bootpart.exe" ( | |
echo.&echo.路径无效... | |
ping -n 3 127.0.0.1>nul | |
goto %~0 | |
) else wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;%%~i\drivers\" >nul 2>nul | |
) | |
cls | |
echo. | |
echo. | |
echo. 已配置环境变量 | |
echo. 您现在需要重启电脑后再次开启本程序 | |
echo. | |
echo. | |
pause | |
exit | |
:: =============The following code is based on Graphics-Driver-Auto-Installer============= | |
:[GetLetter] | |
:: Get letter | |
for /f "tokens=1* delims=: " %%i in ('fsutil fsinfo drives') do set "acti=%%j" | |
set freeletter=C D E F G H I J K L M N O P Q R S T U V W X Y Z | |
setlocal enabledelayedexpansion | |
:[GetLetter]loop | |
for /f "tokens=1* delims=:\ " %%i in ("%acti%") do ( | |
if defined freeletter set "freeletter=!freeletter:%%i=!"&set "freeletter=!freeletter: = !" | |
set "acti=%%j" | |
goto %~0loop | |
) | |
:: Clear space | |
for /f "tokens=* delims= " %%i in ("%freeletter%") do set "freeletter=%%i" | |
if not defined freeletter set "freeletter=Nix" | |
if "%freeletter:~-1%" == " " set "freeletter=%freeletter:~0,-1%" | |
for /f "delims=" %%i in ("%freeletter%") do endlocal&set "%~1=%%i" | |
goto :eof | |
:: ======================================================================================= | |
:[AssignLetter] | |
for /f "tokens=1 delims= " %%i in ("%frelter%") do set "atidrv=%%~i" | |
goto :eof | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment