无忧启动论坛

标题: 批处理变量问题? [打印本页]

作者: FLOPPY    时间: 2011-4-11 09:15
标题: 批处理变量问题?
初学批处理弄不明白以下问题:
第三个for中的!vol!好像无法接收%%b的值,怎样才能使%%b的值赋予!vol!  ??

@echo off
SetLocal EnableDelayedExpansion
for /f %%a in ('mountvol ^|find ":\"') do (
for /f %%b in ('fsutil fsinfo drivetype %%a ^|find "固定"') do (
set vol=%%b
for /r !vol! %%i in (*) do (
echo %%i
)
)
)
pause

变通了一下脚本,问题解决了。

[ 本帖最后由 FLOPPY 于 2011-4-11 14:08 编辑 ]
作者: 2011_sim    时间: 2011-4-12 19:10
原帖由 FLOPPY 于 2011-4-11 09:15 发表
初学批处理弄不明白以下问题:
第三个for中的!vol!好像无法接收%%b的值,怎样才能使%%b的值赋予!vol!  ??

改成下面的代码可变相传递。一点经验:平时最好不要用变量延迟,可用call替代。for /r 也完全可用for /f替代不存在哪个效率高的问题。

@echo off
for /f %%a in ('mountvol ^|find ":\"') do (
for /f %%b in ('fsutil fsinfo drivetype %%a ^|find "固定"') do (
pushd %%b
for /r . %%i in (*) do (
echo %%i
)))
pause




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3