【发布时间】:2020-06-01 23:12:18
【问题描述】:
我正在创建一个带有随机字母的映射网络驱动器,如下所示:
$drive = Get-ChildItem function:[f-z]: -n | Where { !(Test-Path $_) } | select -First 1
$PsDrive = New-PSDrive -Name ($drive)[0] -PSProvider "FileSystem" -Root $somePath
此代码运行良好。当我想在脚本末尾删除新创建的映射驱动器时遇到问题。我是怎么做的:
$someEnv = Remove-PSDrive -Name $drive
这里的问题是 $drive 在名称“:”之后添加了冒号。例如,如果 $drive 被称为 M,它将是 "M:" 并且 Remove-PsDrive 失败。
可能会在会话结束时自动删除,但我想明确删除它。
你们知道如何删除这个驱动器吗?
谢谢
【问题讨论】:
-
您可以使用
.TrimEnd()字符串方法从字符串值的末尾删除不需要的内容。 [咧嘴] -
为什么不使用与创建映射驱动器相同的语法? ;-)
-
另外,
New-PSDrivecmdlet 不需要冒号。 [grin] 你可以将它命名为k,它会接受它。所以你的“索引号零”解决方案将起作用。
标签: powershell