我想从服务器上的Cmd执行中启动Powershell脚本。
问题:为了方便起见,这些版本已经过时了,并且不允许使用任何额外的软件。
将ZIP下载到文件夹的代码在服务器上执行时(添加内容ZIP到路径)完全可以正常工作,但是当我尝试使用.copyhere(zipitem,1024)时,什么都没有发生。如果没有1024 Option,那就更糟了,什么也不做,被困住了。
当我在lokal cmd上启动相同的脚本时,它也可以正常工作。
function handleZIP($filename,$filepath){
$file_source = Get-ChildItem -Path (Join-Path -Path $filepath -ChildPath
$filename)
$shell = new-object -com shell.application
$items = $shell.NameSpace($file_source.FullName).items()
$temp = $shell.Namespace((Get-ChildItem -Path $filepath.FullName))
for($i=$items.Count-1;$i -ge 0;$i--){
$item = $items.item($i)
$tempfile=$filepath+$item.Name
$temp = $shell.Namespace($filepath)
$temp.copyhere($item,[System.Int32]1556) <--Problem
}
}
是否有一种方法可以更好地处理错误,以使您有所了解或对System .___ Com对象使用Add-Content而不是.copyhere?