PowerShell获取未使用盘符 7


给出一个简单的方法获取未使用的盘符:

PS > ls function:[A-Z]: | where { ! (test-path $_.name) }
 | select -ExpandProperty name
A:
B:
F:
H:
K:
L:
M:
……

上面的脚本利用到了PowerShell中function中虚拟驱动器,更多关于虚拟驱动器可以参见驱动器变量

假如要随机获取一个未使用盘符供使用。可以在管道后再加一条命令Get-Random。

@李反馈:

你好,这个方法不能检测cd占用的盘符,这种情况如何处理?

因此2016年10月11日更新如下:

$driveName = Get-PSDrive -PSProvider FileSystem | select -ExpandProperty Name
65..90 | Where-Object{
$driveName -notcontains [char]$_ 
}| ForEach-Object {
[char]$_
}
×用微信扫描并分享
本文链接: https://www.pstips.net/finding-unused-drive-letter.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

motools进行回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

7 条评论 “PowerShell获取未使用盘符