wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了windows – powershell脚本和subst命令大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有以下power sHell 2.0脚本: function getFreeDrive { [char[]]$driveLetters = @([char]'e'..[char]'Z') foreach ($d in $driveLetters) { if(!(Test-Path -Path "$d`:" -IsValid)) { retu
我有以下power shell 2.0脚本:

@H_450_21@function getFreeDrive { [char[]]$driveLetters = @([char]'E'..[char]'Z') foreach ($d in $driveLetters) { if(!(Test-Path -Path "$d`:" -IsValid)) { return $d } } } $drive = getFreeDrive subst "$drive`:" T:\temp ls "$drive`:\" # just a dummy command subst "$drive`:" /D@H_@R_197_11327@_22@

我想要脚本

>找到第一个未使用的驱动器号
>使用subst创建一个新驱动器
>在这个驱动器上做点什么
>使用subst删除驱动器

当我第一次运行它时,脚本运行正常.
如果我在同一个sHell中第二次运行该脚本,我会从ls命令收到错误,指出无法找到该驱动器.如果我打开一个新sHell并运行该脚本,它会再次正常运行.

我的脚本有什么问题,如何让它在一个PowerSHell实例中多次运行?

或者也许替代subst命令?我尝试使用powersHell驱动器,但它不能与其他Windows程序(例如devenv.exE)一起使用.

解决方法

我可以复制与你完全相同的行为,即使在一个PowersHell窗口中我甚至无法cd到它创建的驱动器,但如果我打开一个全新的窗口,我可以cd到它就好了.

行为似乎如下所示:

http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/thread/2e414f3c-98dd-4d8b-a3a3-88cfa0e7594c/

解决方法可能是使用如上所述的PSDrives,或者只是不映射,然后取消映射,然后尝试在同一会话中重新映射相同的驱动器.

大佬总结

以上是大佬教程为你收集整理的windows – powershell脚本和subst命令全部内容,希望文章能够帮你解决windows – powershell脚本和subst命令所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。