Board logo

标题: 关于|的使用 [打印本页]

作者: skyforever     时间: 2007-10-16 07:28    标题: 关于|的使用

环境 : msdos7.1
命令: for %%a in (c d e f) do vol %%a: | find /i "sys"
目的:查找磁盘名称包含sys的盘
==========
现在出现一个问题是:循环只执行 vol %%a: ,而没把这个结果传给find来执行find /i "sys"
===============
在xp的cmd下,这个又正常。
在msdos7.1下,如果单句执行 vol c: | find /i "sys" ,这个又是正常。
======
哪个知道在msdos7.1下面如何解决?
作者: xiandan703     时间: 2007-10-16 11:17
请教 for %%a in (c d e f) do vol %%a中%%a的用法
作者: greenworld     时间: 2007-10-16 11:57
for %%a in (c d e f) do (vol %%a:^|find /i "sys")

不知道是否可以??偶也是个菜鸟.....呵呵
作者: fastslz     时间: 2007-10-16 13:00
是卷标不完整,XP下重命名的卷标,在DOS下无法正确显示,即使XP格式化生成的卷标也不一定正确显示,而PQ生成的卷标是完整的,所以这个命令不具备通用性。
作者: 不得不爱     时间: 2007-10-16 13:51
那是因为纯DOS下的for命令1行只执行1个命令
作者: skyforever     时间: 2007-10-16 17:09


  Quote:
Originally posted by 不得不爱 at 2007-10-16 01:51 PM:
那是因为纯DOS下的for命令1行只执行1个命令

版主有什么办法实现这个命令么?
作者: 不得不爱     时间: 2007-10-16 17:38
vol c: | find /i "sys"
vol d: | find /i "sys"
vol e: | find /i "sys"
vol f: | find /i "sys"
你find /i "sys"干什么啊
作者: skyforever     时间: 2007-10-16 18:02
for %%a in (c d e f) do vol %%a: | find /i "ibm_service"

===========
通过这个找出盘符标识为ibm_service,把这个盘符保存为变量,
然后xcopy一键还原的文件。
总的来说是制作一键还原。
作者: hxwxyz     时间: 2007-10-16 19:35
学习了