Board logo

标题: [系统相关] 求助:批处理中fsutil命令获取所有盘符时如何把结果显示为一行? [打印本页]

作者: Loading    时间: 2009-3-8 23:13     标题: 求助:批处理中fsutil命令获取所有盘符时如何把结果显示为一行?

看了尘土飞扬for语句从入门到精通 教程我提个问题.
"fsutil fsinfo drives"可以显示本机当前所有磁盘,
但怎么才能用FOR读出来呢?(我要的效果是显示为一行,比如C:\D:\E:\)
我试了很多方法都不中.
比如如下之类:
  1. for /f "skip=1 tokens=1, 2, 3 delims= " %%a in ('fsutil fsinfo drives^|find /v ""') do (set Lastdriver=%%a%%b%%c)
  2. for /f "skip=1 tokens=1, 2, 3 delims= " %%a in ('fsutil fsinfo drives') do (set Lastdriver=%%a%%b%%c%Lastdriver%)
复制代码

[ 本帖最后由 Loading 于 2009-3-10 23:42 编辑 ]
作者: zqz0012005    时间: 2009-3-11 11:24

  1. @echo off
  2. for /f "delims=驱动器: " %%a in ('fsutil fsinfo drives^|find /v ""') do set /p=%%a<nul
复制代码

作者: newxso    时间: 2009-3-11 11:56

或者以下方式更合符楼主的意愿:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('fsutil fsinfo drives^|find /v ""') do (
  3.     set b=%%a
  4.     set b=!b:~-3!
  5.     for /f "tokens=1" %%i in ('fsutil fsinfo drivetype !b! ^|find "固定"') do set/p=%%i<nul
  6. )
  7. pause>nul
复制代码


(哦!楼主没说获取固定磁盘。哪就算作提供获取硬盘中的所有盘符吧!)

[ 本帖最后由 newxso 于 2009-3-11 13:27 编辑 ]
作者: Batcher    时间: 2009-3-11 12:12     标题: 回复 3楼 的帖子

楼主没有表达出要显示固定磁盘的意愿啊,人家说“获取所有盘符”^_^
作者: Batcher    时间: 2009-3-11 12:15

  1. @echo off
  2. for /f "delims=" %%a in ('fsutil fsinfo drives^|find /v ""') do (
  3.   set drive=%%a
  4.   call set /p=%%drive:~-3%%<nul
  5. )
  6. pause
复制代码

作者: Batcher    时间: 2009-3-11 12:16

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('fsutil fsinfo drives^|find /v ""') do (
  4.   set drive=%%a
  5.   set /p=!drive:~-3!<nul
  6. )
  7. pause
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2