[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]获取磁盘信息的批处理为何变量不能正常显示?

Disk: 1 (149.05GB) M:[WDC WD1600AAJS-22PSA0] S:[WD-WCAP91806016]
    1.1: (  10.01GB) [G:\] Active Volume NTFS l:[GO7]
    1.2: (  18.94GB) [D:\] Volume NTFS l:[PAGE]
    1.3: ( 100.09GB) [E:\] Volume NTFS l:[DATA]
    1.4: (     10GB) [F:\] Volume NTFS l:[WIN7]
    1.5: (     10GB) [C:\] Volume NTFS l:[WINXP]
         (   2.49MB) Unused Space
Disk: 2 (7.50GB) M:[Ut165 USB Flash Disk 0.00]
    2.1: (   7.49GB) [I:\] Active Volume NTFS l:[时尚蛤蟆]
         (   6.33MB) Unused Space
  1. @echo off
  2. echo.
  3. echo.
  4. echo *********************************
  5. echo.
  6. setlocal enabledelayedexpansion
  7. for /f "tokens=1-3 delims=() " %%a in (info.txt) do (
  8.     if "%%a" == "Disk:" (
  9.         set /a value+=1
  10.         set disk!value!=%%c
  11.         for /f "tokens=1-7 delims=() " %%a in (info.txt) do (
  12.              if "%%a" == "!value!.1:" (
  13.                 set par!value!=%%b
  14.                 set vol!value!=%%g
  15.                 echo !vol%value%! //显示不出来,这是什么原因
  16.             )
  17.         )
  18.     )
  19. )
  20. echo           磁盘总数:%value%
  21. echo.
  22. for /l %%a in (1,1,%value%) do (
  23.     if defined disk%%a (
  24.         echo      磁盘 %%a 总容量:!disk%%a!
  25.         if defined par%%a (
  26.             echo      分区 1 的容量:!par%%a!
  27.         )
  28.     echo.
  29.     )
  30. )
  31. echo *********************************
  32. pause>nul
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set value=50
  4. set vol%value%=500
  5. echo !vol%value%!
  6. pause
复制代码
而上面这个显示正常

TOP

因为是在for内
把echo !vol%value%!
改为
call call echo %%%%vol%%value%%%%%%
1

评分人数

TOP

返回列表