
純DOS下不能使用for的/f/l等參數請問如何解決最后由 a262615704 于 -10-9 21:49info.txt保存了兩塊磁盤的信息,內容如下: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
在XP下運行結果:nclick="copycode($('code0'));">復制代碼
- setlocal enabledelayedexpansion
- for /f tokens=1-3 delims=() %%a in (info.txt) do (
- if %%a == Disk: (
- set /a value+=1
- set disk!value!=%%c
- for /f tokens=1-7 delims=() %%a in (info.txt) do (
- if %%a == !value!.1: (
- set par!value!=%%b
- set vol!value!=%%g
- )
- )
- )
- )
- echo 磁盤數量:%value%
- echo.
- for /l %%a in (1,1,%value%) do (
- if defined disk%%a (
- echo第 %%a 磁盤容量:!disk%%a!
- if defined par%%a (
- echo第一分區 容量:!par%%a!
- if definedvol%%a (
- echo第一分區 卷標:!vol%%a:~3,-1!
- )
- )
- echo.
- )
- )
- echo *********************************
- pause>nul
但是,在純DOS下,不能使用for的 /f 和 /l 等參數,會提示語法錯誤。請問,在純DOS下,如何通過find、findstr、set等命令獲得以上想要的結果?非常感謝!!nclick="copycode($('code1'));">復制代碼
- *********************************
- 磁盤數量:2
- 第 1 磁盤容量:149.05GB
- 第一分區 容量:10.01GB
- 第一分區 卷標:GO7
- 第 2 磁盤容量:7.50GB
- 第一分區 容量:7.49GB
- 第一分區 卷標:時尚蛤蟆
- *********************************

