Powershell Subst命令

时间:2012-08-30 08:03:11

标签: powershell

如何从我的powershell配置文件中正确调用Subst命令?

以下是我的尝试:

我在powershell配置文件中有以下功能:

function aa1 {
  Subst "q:" /D
  Subst "q:" $tjb.mypath
}

当我从命令行调用它时它会起作用,但如果我从我的powershell配置文件中调用它,则使用以下行:

aa1

在启动新的PowerShell函数时,它给出了以下错误:

Invalid parameter -q:

但是,我知道函数的第一行正常工作,因为q:驱动器消失了。

以下是上述命令的输出示例:

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

Invalid parameter - Q:
Invalid parameter - q:
** snip Other unrelated stuff**
> aa1
Invalid parameter - Q:
>

2 个答案:

答案 0 :(得分:2)

如果你在q:不是替代驱动器时执行subst q: /d,则会出现此错误

答案 1 :(得分:0)

我建议在运行subst / D之前测试驱动器是否已存在

if(Test-Path -Path "q:" -IsValid) {
    # Unsubst the existing q: to make space for a new one
    subst "q:" /D
}
Subst "q:" $tjb.mypath