集自动判断u盘盘符、判断是否插入、手动选择执行文件于一体的批处理:
@echo off&setlocal enabledelayedexpansion
for /f "delims=驱动器:\" %%i in ('fsutil fsinfo drives^|more') do fsutil fsinfo drivetype %%i:|findstr "移动">nul&&set str=%%i
if exist %str%: (
for /f "delims=" %%i in ('dir /s /a-d /b %str%:\*.exe') do (
set /a n+=1&set _!n!=%%i&set var=!var! %%~nxi
)
) else (
echo 经检测U盘未插入或未就绪,请按键退出程序。
pause>nul&goto :eof
)
:set
cls&echo !var:~1!
echo.
echo 请选择要运行的程序序号。
echo.
set /p select=在此输入:
if "%select%"=="" goto set
echo %select%|findstr "">nul&&goto wrong
start "" "!_%select%!"&goto :eof
:wrong
echo 输入有误,请正确输入!&ping /n 2 127.1>nul&goto set
唯一就是不能用于纯dos下。