@
echo
off
setlocal enabledelayedexpansion
:: 第一步:获取传递过来的文件夹路径
set
"currentFolder=%~1"
if
not
defined currentFolder (
echo
No folder path provided.
pause
exit /b
)
echo
Current folder is: %currentFolder%
:: 第二步:要求用户输入盘符
:input
set /p
"driveLetter=请输入要挂载的盘符(例如 E):"
set
"driveLetter=%driveLetter:~0,1%"
if
not
defined driveLetter (
echo
盘符不能为空,请重新输入!
goto
input
)
if
not
"%driveLetter%"
==
"%driveLetter: =%"
(
echo
盘符不能包含空格,请重新输入!
goto
input
)
if
not
"%driveLetter%"
==
"%driveLetter:~0,1%"
(
echo
盘符必须是单个字母,请重新输入!
goto
input
)
:: 第三步:使用subst命令挂载文件夹为指定盘符
%SystemRoot%\system32\subst.exe %driveLetter%:
"%currentFolder%"
if
!errorlevel! == 0 (
echo
Folder
"%currentFolder%"
has been mapped to drive %driveLetter%:
)
else
(
echo
Failed to map folder
"%currentFolder%"
to drive %driveLetter%:
)
:: 第四步:提供清除功能
:cleanup
set /p
"cleanup=请输入 1 来清除挂载的磁盘,或按任意键退出:"
if
"%cleanup%"
==
"1"
(
%SystemRoot%\system32\subst.exe %driveLetter%: /d
if
!errorlevel! == 0 (
echo
Drive %driveLetter%: has been successfully unmounted.
)
else
(
echo
Failed to unmount drive %driveLetter%:.
)
)
else
(
echo
Exiting without unmounting.
)
pause