微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Windows命令行中获取卷名的驱动器号

对于在Windows命令行界面下运行的备份脚本,我想获取某个硬盘卷(存储在variables%lookfor% )的%lookfor% 。 这是我到目前为止的代码

set lookfor=yourvolume for /f "tokens=1,2,*" %%D in ('wmic logicaldisk get VolumeName^,Caption^') Do ( if %%F equ "" ( @echo %%D has the VolumeName %%E if "%%E" equ "%lookfor%" ( set letter=%%D ) ) else ( @echo %%D has the VolumeName %%E %%F if "%%F" equ "%lookfor%" ( set letter=%%D ) ) ) echo The Volume %lookfor% has the driveletter %letter%

将驱动器号分配给可变驱动器号显然会失败。 我怎样才能解决这个问题?

如何获得从0到100的标量系统音量水平?

使用Python 3.5获得扬声器音量

如何在Windowspath中使用卷标?

在Linux下查询或设置ext3分区卷名的有效方法

Windowsbatch file获取C:驱动器的总空间和可用空间

使用WMIC的where参数来指定要查找的内容

for /f %%a in (' wmic logicaldisk where "VolumeName='%lookfor%'" get Caption ^| find ":" ') do set letter=%%a

你没有向我们展示lookfor什么样的东西,也不知道你们的输出是什么。 这是我的…

Caption VolumeName

C:

M:xpc

N:

病人:

问:

R:系统保留

U:

五:

W:系统保留

你的线

if %%F equ "" (

是不正确的,因为%%F永远不能与""你需要

if "%%F" equ "" (

因此,第一个if的else分支总是被采用。

你的

if "%%F" equ "%lookfor%" (

有趣的是,正确的语法。 我们不知道你在找什么,但是使用上面的例子,设置应该是:

%% D | %% E | %% F

Caption | VolumeName |

C:| |

M:| xpc |

N:| |

P:| |

问:| |

R:|系统|保留

U:| |

V:| |

W:|系统|保留

所以%%F可能不是你所期望的。

也许

for /f "tokens=1,*" %%D in ( 'wmic logicaldisk get VolumeName^,Caption^' ) Do (echo D=%%DE=%%E)

会更好的为你的目的。

if /i ....

使比较不区分大小写。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐