无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 8191|回复: 7
打印 上一主题 下一主题

请教:怎样在Windows中用命令行根据磁盘的卷标来获取盘符?

[复制链接]
跳转到指定楼层
1#
发表于 2006-12-3 07:19:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样在Windows中用命令行根据磁盘的卷标来获取盘符?

比如 我的 移动硬盘 中有个分区 的卷标是 “移动盘h”
在a电脑上是的盘符为 H:
在b电脑上是的盘符为G:

不知道可否根据磁盘的卷标“移动盘h”来获取盘符,
这样写批处理的时候就不需要更改 G: H: 之类的了……
2#
发表于 2006-12-3 14:06:43 | 只看该作者
  1. @ECHO OFF
  2. :BEGIN
  3. CLS
  4. set AskVolume=
  5. Set /P AskVolume=请输入您要查询的分区的卷标:
  6. If "AskVolume%AskVolume%"=="AskVolume" GOTO BEGIN
  7. cd.>script.txt
  8. >>script.txt echo list volume
  9. for /f "tokens=3,4" %%i in ('diskpart /s script.txt^|find ^"Software^"') do Set PartitionNum=%%i&&SET AskVolume=%%j
  10. del script.txt /q
  11. echo 您所查询的卷标为 %AskVolume% 的分区为:%PartitionNum%
  12. pause
复制代码
回复

使用道具 举报

3#
 楼主| 发表于 2006-12-5 11:53:16 | 只看该作者
试了,就是不可以啊,是不是下面这一句出了问题:

for /f "tokens=3,4" %%i in ('diskpart /s script.txt^|find ^"Software^"') do Set PartitionNum=%%i&&SET AskVolume=%%j

不过也学到了东西,谢谢啦 :)
发现自己还有好多dos命令是不熟悉的
回复

使用道具 举报

4#
发表于 2006-12-5 12:17:05 | 只看该作者
  可以试一下下面的代码:

  1. @echo off

  2. :begin
  3. cls
  4. set flag=0
  5. set input=
  6. set /p input= 请输入要查询的卷标:
  7. if "%input%"=="" goto begin
  8. for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  9.     for /f "tokens=4" %%j in ('vol %%i: 2^>nul') do if /i "%%j"=="%input%" call :success %%i&set flag=1
  10. )
  11. if %flag% neq 1 echo 没有卷标为 %input% 的分区
  12. pause
  13. goto begin

  14. :success
  15. echo.
  16. echo  卷标为 %input% 的分区有:%1
  17. echo.
  18. goto :eof
复制代码
回复

使用道具 举报

5#
 楼主| 发表于 2006-12-5 13:09:49 | 只看该作者
可以了,谢啦
回复

使用道具 举报

6#
发表于 2006-12-5 20:47:29 | 只看该作者
原帖由 namejm 于 2006-12-5 12:17 发表
  可以试一下下面的代码:

@echo off

:begin
cls
set flag=0
set input=
set /p input= 请输入要查询的卷标:
if "%input%"=="" goto begin
for %%i in (c d e f g h i j k l  ...

倒塌~~~,当时想来想去,就是想不起还有 VOL 这个经典的命令,DOS 下就用过的。。。

就写了 2 楼的那一段,在我机器上测试没有问题的。。。
回复

使用道具 举报

7#
发表于 2006-12-7 08:33:20 | 只看该作者
namejm兄确实高明啊!佩服!
回复

使用道具 举报

8#
发表于 2021-11-13 22:06:16 | 只看该作者
namejm 发表于 2006-12-5 12:17
  可以试一下下面的代码:

确实可行 感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-25 12:38

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表