中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 08:32
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 小小问题,弱弱的请教下!高手快来吧,等的好辛苦! 查看 674 回复 3
楼 主 小小问题,弱弱的请教下!高手快来吧,等的好辛苦! 发表于 2008-08-07 23:23 ·  中国 北京 鹏博士BGP
初级用户
积分 24
发帖 11
注册 2006-11-12 04:06
19年会员
UID 70288
性别 男
状态 离线
C盘 NTFS格式 有个目录 C:\VD
我要把D盘 装入 C:\VD
这个批处理怎么写?

资料:
mountvol /l >c:\vd.txt

C:\VD.TXT 内容:

创建、删除或列出卷装载点。

MOUNTVOL path VolumeName
MOUNTVOL path /D
MOUNTVOL path /L

path 指定装入点将驻留的现有 NTFS 目录。
VolumeName 指定装入点的目标的卷名称。
/D 从指定的目录中删除卷装入点。
/L 列出指定目录的已装入的卷名称。

当前装载点的 VolumeName 可能值为:

\\?\Volume{ef7fa226-5089-11dd-8ee4-806d6172696f}\
C:\

\\?\Volume{ef7fa227-5089-11dd-8ee4-806d6172696f}\
D:\

\\?\Volume{ef7fa228-5089-11dd-8ee4-806d6172696f}\
E:\


然后 执行 mountvol c:\vd\ \\?\Volume{ef7fa227-5089-11dd-8ee4-806d6172696f}\

注:绿色部分格式始终一样,就是VolumeName的内容不一样而已,我就想提取 D盘的Volume的值,然后执行 mountvol c:\vd\ \\?\Volume{ef7fa227-5089-11dd-8ee4-806d6172696f}\
2 发表于 2008-08-07 23:51 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
set SrcFile=C:\VD.TXT
set DstRow= D:\
set PriRow=""
for /f "tokens=1* delims=" %%a in ('findstr .* "%SrcFile%"') do (
if "%%a" neq "%DstRow%" (
set PriRow=%%a
) else if "%%a" equ "%DstRow%" (
goto :show
)
)
:show
set PriRow=%PriRow: =%
mountvol c:\vd\ %PriRow%


[ Last edited by HAT on 2008-8-7 at 11:52 PM ]
3 发表于 2008-08-08 00:10 ·  中国 北京 鹏博士BGP
初级用户
积分 24
发帖 11
注册 2006-11-12 04:06
19年会员
UID 70288
性别 男
状态 离线
很强悍,就是看不懂。。 哎,不知道什么时候才能懂。。。。。

谢谢了,非常感谢!
4 发表于 2008-08-08 00:15 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
把置顶帖看完就懂了
论坛跳转: