1.bat
:获取本机盘符名称,比对是否存在"游戏"的磁盘
FOR %%a 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) do ( IF exist %%a: (
for /f "delims=" %%i in ('cscript //nologo panfu.vbs %%a:') do set "d=%%i"
:获取磁盘名次信息,如本地磁盘(c:)、本地磁盘(d:)、游戏(e:)
echo %d%
:问题不清楚是不是出在这里,%d%:~0,2%不能截取字符串前2个字符
if %d%:~0,2% == 游戏(
echo 找到游戏盘
goto myEnd
)
))
:myEnd
pause
panfu.vbs
Set objArgs = WScript.Arguments
strDriveLetter = objArgs(0)
Set objShell = CreateObject("Shell.Application")
strNewName = objShell.NameSpace(strDriveLetter).Self.Name
wscript.echo strNewName
求指导bat里面怎么比对字符串?
答案:1 悬赏:80
解决时间 2021-03-12 08:15
- 提问者网友:夕夏残阳落幕
- 2021-03-11 20:49
最佳答案
- 二级知识专家网友:星星坠落
- 2021-03-11 22:25
用纯批处理的方式就可以做到,没必要再用VBS,我下面这个是在WIN7里面测试的,如果是XP请HI我。
@echo off
set "name=软件"
wmic logicaldisk where drivetype=3 get caption|findstr : >temp.txt
for /f "delims= " %%a in (temp.txt) do (
for /f "tokens=4 delims= " %%b in ('vol %%a') do (
if "%%b"=="%name%" echo.找到%name%盘,盘符为:%%a
)
)
del temp.txt /f/s/q >nul
pause
@echo off
set "name=软件"
wmic logicaldisk where drivetype=3 get caption|findstr : >temp.txt
for /f "delims= " %%a in (temp.txt) do (
for /f "tokens=4 delims= " %%b in ('vol %%a') do (
if "%%b"=="%name%" echo.找到%name%盘,盘符为:%%a
)
)
del temp.txt /f/s/q >nul
pause
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯