Board logo

标题: [文件操作] BAT批处理获取盘符时如何屏蔽错误信息? [打印本页]

作者: yuanyong911    时间: 2014-4-15 13:41     标题: BAT批处理获取盘符时如何屏蔽错误信息?

我是新来的 有个问题 想问高手
  1. rem 查找D:\盘位置
  2. for %%d in (c d e f g h i j k l m n o p q r s t u v w) do if exist %%d:\D.dll set dpzn=%%d:\
  3. echo D盘盘符 为 %dpzn%
复制代码
看起来没问题 但执行起来 总有个提示(如果能默认 直接忽略 这些错误 提示就好了)

---------------------------
cmd.exe - 没有磁盘
---------------------------
驱动器中没有磁盘。 请在驱动器 \Device\Harddisk1\DR1 中插入磁盘。
---------------------------
取消   重试(T)   继续(C)   
---------------------------


让人 郁闷 求高手!帮忙解决 感激不尽!
作者: yuanyong911    时间: 2014-4-15 13:56

有高手吗 很着急  万分感激
作者: CrLf    时间: 2014-4-15 14:09

  1. (for %%d in (c d e f g h i j k l m n o p q r s t u v w) do if exist %%d:\D.dll set dpzn=%%d:\) 2>nul
复制代码

作者: CrLf    时间: 2014-4-15 14:17

或者先获取盘符:
  1. fsutil fsinfo drives
复制代码
  1. wmic logicaldisk where drivetype=3 get name /value
复制代码

作者: yuanyong911    时间: 2014-4-15 14:58

回复 4# CrLf


    多谢大神! 我再研究研究!
作者: yuanyong911    时间: 2014-4-15 16:51

回复 4# CrLf


运行 提示错误!
C:\Users\YY\Desktop>wmic logicaldisk where drivetype=3 get name /value
ERROR:
Description = Invalid namespace

C:\Users\YY\Desktop>pause
请按任意键继续. . .
作者: yuanyong911    时间: 2014-4-15 16:52

回复 3# CrLf


    这个同样 错误提示 不过还是多谢您!
作者: yuanyong911    时间: 2014-4-15 18:55

本帖最后由 yuanyong911 于 2014-4-15 19:24 编辑
或者先获取盘符:
CrLf 发表于 2014-4-15 14:17


这段代码 在PE系统下 不可用!
fsutil fsinfo drives 到是可以(但会获得全部分区盘符 我想只获得硬盘盘符

但是 我想实现

fsutil fsinfo drives

for %%d in (c d e f g h i j k l m n o p q r s t u v w) do if exist %%d:\123.exe set ccc=%%d:\


想实现 fsutil fsinfo drives 输出的结果 去掉 驱动器: 和 :\  剩下的结果 替换 掉  c d e f g h i j k l m n o p q r s t u v w 部分
作者: yuanyong911    时间: 2014-4-16 09:38

有高手吗很着急




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