批处理脚本:迭代驱动器号?

在Windows批处理脚本中,如何遍历与物理卷或映射共享对应的所有驱动器号

也将build议一个语言切换,而不是VBS的Powershell。

Get-PSDrive -PSProvider FileSystem 

这是未来的潮stream

也许现在有更好的工具,但曾经是fsutil命令(WinXP)。

 fsutil fsinfo drives 

这将返回系统中的所有驱动器。

在这种情况下,使用VBScript会容易得多,而且更有用。 http://authors.aspalliance.com/brettb/VBScriptDrivesCollection.asp

你可以哄

 wmic volume get driveletter 

成为您的数据源在这里。 然后可以用for /f标准来完成迭代。

你可以试试:

(CDEFGHIJKLMNOP QRSTUVWXYZ)DO @if exists %% i:@echo %% i:

此代码的主要限制是没有磁盘的CD / DVD驱动器的存在。 它会导致用户插入磁盘的鲤鱼。 如果您将所有CD / DVD驱动器映射到Z:您可以通过移除集合中的最终Z来避免鲤鱼。

这对我来说是msys的工作,你没有指定你使用的是哪个bash解释器(主要的是msys或者cygwin)。

 for i in `mount|grep "^.: "|cut -c1`; do echo iterating over drive $i done