批处理,For 语句 输出变量问题
下面这句:for/f"skip=2tokens=2,3delims=,"%%iin('WMICLogicalDiskWhere"DriveType=2andSupport...
下面这句:
for /f "skip=2 tokens=2,3 delims=," %%i in ('WMIC LogicalDisk Where "DriveType=2 and SupportsDiskQuotas=FALSE" Get DeviceID^,FreeSpace /format:csv 2^>nul') do (call :xxx %%i %%j
)
我知道它的作用是:
给i 赋值为“可移动磁盘的盘符名称”
给j 赋值为“对应盘符名称的可用容量”
如果我句换成:
for /f "skip=2 tokens=2,3 delims=," %%i in ('WMIC LogicalDisk Where "DriveType=2 and SupportsDiskQuotas=FALSE" Get DeviceID^,Size /format:csv 2^>nul') do (call :xxx %%i %%j
)
那么 “j” 就变成了:
给j 赋值为“对应盘符名称的总容量”
问题来了:
我想同时得到对应盘符的“名称”、“可用容量”、“总容量”,这三个值,如何在这一条语句里面实现?
求批处理高手指导!! 展开
for /f "skip=2 tokens=2,3 delims=," %%i in ('WMIC LogicalDisk Where "DriveType=2 and SupportsDiskQuotas=FALSE" Get DeviceID^,FreeSpace /format:csv 2^>nul') do (call :xxx %%i %%j
)
我知道它的作用是:
给i 赋值为“可移动磁盘的盘符名称”
给j 赋值为“对应盘符名称的可用容量”
如果我句换成:
for /f "skip=2 tokens=2,3 delims=," %%i in ('WMIC LogicalDisk Where "DriveType=2 and SupportsDiskQuotas=FALSE" Get DeviceID^,Size /format:csv 2^>nul') do (call :xxx %%i %%j
)
那么 “j” 就变成了:
给j 赋值为“对应盘符名称的总容量”
问题来了:
我想同时得到对应盘符的“名称”、“可用容量”、“总容量”,这三个值,如何在这一条语句里面实现?
求批处理高手指导!! 展开
展开全部
@Echo Off
for /f "skip=2 tokens=2,3,4 delims=," %%i in ('WMIC LogicalDisk Where "DriveType=2 and SupportsDiskQuotas=FALSE" Get DeviceID^,FreeSpace^,Size /format:csv 2^>nul') do (call :xxx %%i %%j %%k
)
Pause
:xxx
Echo %1 %2 %3
Goto :eof
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询