Board logo

标题: 如何利用批处理添加盘符 [打印本页]

作者: xykot     时间: 2010-8-15 17:52    标题: 如何利用批处理添加盘符

先前在网吧一不小心利用了以下批处理把E盘给隐藏了,可偏偏磁盘的那个VolumeName值没有了(导到E盘的1.txt文件没了。),现在想恢复磁盘盘符,可是要一台一台解开还原太麻烦了,有没哪位高人可以指点下啊,谢谢。。
————————————————————————
@echo off
mountvol e: /l >1.txt
mountvol e: /d
——————————————————————————————
现在E盘是没有盘符的了,只有一个卷标GAME,
利用命令mountvol /L  显示出以下内容:
——————————————————————————————
MOUNTVOL [drive:]path VolumeName
MOUNTVOL [drive:]path /D
MOUNTVOL [drive:]path /L

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

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

    \\?\Volume{922dc8c8-8804-11df-8753-806d6172696f}\
        C:\

    \\?\Volume{922dc8c9-8804-11df-8753-806d6172696f}\
        D:\

    \\?\Volume{922dc8ca-8804-11df-8753-806d6172696f}\
        *** 无装入点 ***

——————————————————————————————
想利用下面的批处理来恢复盘符,但是无法导出E盘的VolumeName值。
@echo
set /p name=<1.txt
mountvol E: %name%
——————————————————————————
作者: xykot     时间: 2010-8-15 18:03
不知是否能这样:
运行命令:mountvol /L>c:\1.txt
在导出的1.txt文件中有:
当前装载点的 VolumeName 可能值为:

    \\?\Volume{922dc8c8-8804-11df-8753-806d6172696f}\
        C:\

    \\?\Volume{922dc8c9-8804-11df-8753-806d6172696f}\
        D:\

    \\?\Volume{922dc8ca-8804-11df-8753-806d6172696f}\
        *** 无装入点 ***
——————————————————————————————
是否可运用批处理把***无装入点****  上面那个值单独的导出来?如果可以的话,就可以用 以下命令恢复磁盘盘符了,各位哥有这样的批处理吗?   
@echo
set /p name=<1.txt
mountvol E: %name%
作者: xykot     时间: 2010-8-15 18:39
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
SET N=0
FOR /F "SKIP=19 DELIMS= " %%I IN (1.txt) DO (
    SET /A N+=1
    SET "!N!=%%I"
    IF !N!==1 ECHO %%I)
PAUSE>NUL
——————————————————————

我试了用以上命令可以找出指定的值,但是我不知道怎么把它导出来生成d:\1.txt中去。