我想从具有变量驱动器名称的驱动器调用exe文件。 代码首先在系统的每个驱动器中搜索路径,一旦发现它进入If条件,我想调用一个命令-bpimagelist。在调用exe文件时获取Powershell脚本错误
下面是代码,它给出了一个不寻常的错误。
for($pat=67 ;$pat -le 87 ;$pat++)
{
$y = [char]$pat;
$path = $y+":\Veritas\Netbackup\bin\admincmd"
If((Test-Path $path))
{
Write-Host $path "is found in" $y "drive"
Invoke-Item $y":\Veritas\Netbackup\bin\admincmd\bpimagelist -client abc.ge.com -d 11/01/2014 -U"
break
}
Else
{
continue
}
}
错误:
PS C:\Documents and Settings\abala\Desktop> .\veritasscript.ps1
D:\Veritas\Netbackup\bin\admincmd is found in D drive
Invoke-Item : Cannot find path 'C:\Veritas\Netbackup\bin\admincmd\bpimagelist -
client hclinnobpm01.jnj.com -d 11\01\2014 -U' because it does not exist.
At C:\Documents and Settings\admin_broy5\Desktop\veritasscript.ps1:8 char:17
+ Invoke-Item <<<< $y":\Veritas\Netbackup\bin\admincmd\bpimagelist -clien
t hclinnobpm01.jnj.com -d 11/01/2014 -U"
================================== ===============
我不知道为什么错误显示C:\ Veritas当$ y的当前值是D,也在写主机行它打印为D驱动器中的路径。 有人可以请建议一个方法来调用上面的exe文件吗?
是的,它确实存在于d驱动器,这就是为什么输出的第一行是 - “d:\ VERITAS \的Netbackup \ BIN \ admincmd有是发现在D驱动器“ – 2014-11-05 17:34:13
没有先生,甚至包括在TestPath中的bpimagelist不起作用。 目前为了测试目的,我试图用下面的代码调用位于C:\ Windows \ syste32下的fsutil.exe,但即使这样也行不通。 Invoke-Expression“volume diskfree”$ y“:” 有什么建议吗? – 2014-11-05 17:36:43