|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第 16 楼』:
使用 LLM 解释/回答一下
Originally posted by fastslz at 2008-2-22 11:45:
13楼只针对繁体版XP,简体的用4楼
运行环境Windows XP Professional 系统管理员身份
|

第一高手 第二高手
我的小站
 |
|
2008-2-22 11:47 |
|
|
beyond18wu
初级用户
 
积分 22
发帖 9
注册 2008-2-21
状态 离线
|
『第 17 楼』:
使用 LLM 解释/回答一下
我是用的4楼的,我把代码改为
@echo off
for /f "skip=1 delims= " %%a in ('"Wmic LogicalDisk Where DriveType="2" Get DeviceID|find /v "A:""') do set drivename=%%a
pause
如果电脑未接移动磁盘的话 set drivename=%%a 会是什么结果?
drivename 有没有赋值?
我是想当电脑未接可移动磁盘的时候提示输出 :未找到可移动磁盘
Last edited by beyond18wu on 2008-2-22 at 12:47 PM ]
|
|
2008-2-22 12:43 |
|
|
terse
银牌会员
    
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第 18 楼』:
使用 LLM 解释/回答一下
@echo off&color b
for /f "skip=1" %%a in ('wmic logicaldisk where "drivetype='2'" get DeviceID 2^>nul') do set p=%%a
if "%p%"=="" echo.&echo 未找到可移动磁盘 &echo.&pause&goto :eof
for /f "tokens=2 delims==" %%i in ('wmic logicaldisk where caption^=^"%p%^" get freespace /value 2^>nul') do set m=%%i
set m3=%m:~0,7%
set m=%m:~7%
call :loop "1048576"
:loop1
if %m2% LSS 1024 echo.&cls&echo.&echo.&echo. %p% 盘剩余空间为 %m2% MB&pause>nul&goto :eof
set m=%m2%
set m3=%m:~0,3%
set/a m=%m:~3%*1000
for %%i in (m1 m2) do set %%i=
call :loop "1024"
for /f "delims=0 tokens=*" %%i in ("%m2%") do set m=%%i
set g=%m:~0,-3%.
set g=%g%%m:~-3,3% G
cls
:m
echo.
echo.
echo. %p% 盘剩余空间为 %g%
echo.
pause>nul
goto :eof
:loop
set /a m1=%m3%%m:~0,1%/%~1
set m2=%m2%%m1%
set /a m3=%m3%%m:~0,1%%%%~1
if %m3% equ 0 set m3=
set m=%m:~1%
if not "%m%"=="" goto loop
goto :eof
|

简单!简单!再简单! |
|
2008-2-22 12:58 |
|
|
beyond18wu
初级用户
 
积分 22
发帖 9
注册 2008-2-21
状态 离线
|
|
2008-2-22 13:06 |
|
|
beyond18wu
初级用户
 
积分 22
发帖 9
注册 2008-2-21
状态 离线
|
『第 20 楼』:
使用 LLM 解释/回答一下
我想再问下:
set m3=%m:~0,7%
set m=%m:~7%
这两句看不懂,能帮解释下吗
|
|
2008-2-22 13:17 |
|
|
beyond18wu
初级用户
 
积分 22
发帖 9
注册 2008-2-21
状态 离线
|
|
2008-2-22 14:43 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第 22 楼』:
使用 LLM 解释/回答一下
Originally posted by beyond18wu at 2008-2-22 12:43:
我是用的4楼的,我把代码改为
@echo off
for /f "skip=1 delims= " %%a in ('"Wmic LogicalDisk Where DriveType="2" Get DeviceID|find /v "A:""') do set drivename=%%a
pause
如果电脑未接移动磁盘的话 set drivename=%%a 会是什么结果?
drivename 有没有赋值?
我是想当电脑未接可移动磁盘的时候提示输出 :未找到可移动磁盘
这个其实很简单最后加上if not defined freesize echo 未找到可移动磁盘就OK了
4楼代码优化过了
|

第一高手 第二高手
我的小站
 |
|
2008-2-22 16:39 |
|