我在powershell中创建了一个表单,我想将伊势中显示的状态重定向到一个弹出窗口。目前,当我在ISE之外运行脚本时,我看不到状态栏,但看到它会很有帮助。
下面是函数
Function Upload-File {
param (
$LocalData
)
Add-PSSnapin ShareFile
#Run the following interactively to create a login token that can be used by Get-SfClient in unattended scripts
$sfClient = Get-SfClient -Name ((Join-Path $env:USERPROFILE "Documents\Sharefile") + "\MySubdomain.sfps")
#upload directory is relative to the root of the account
#get the current user's home folder to use as the starting point
$ShareFileHomeFolder = (Send-SfRequest $sfClient -Entity Items).Url
# Create a PowerShell provider for ShareFile pointing to Personal Folsers\Send
New-PSDrive -Name sfDrive -PSProvider ShareFile -Client $sfClient -Root "\Personal Folders\Send" -RootUri $ShareFilePath
#upload all the files (recursively) in the local folder to the specified folder in ShareFile
Copy-SfItem -Path $LocalData -Destination "sfDrive:"
#Remove the PSProvider when we are done
Remove-PSDrive sfdrive
}
在伊势中运行时
有没有办法把它重定向到一个弹出窗口?
这是调用函数的命令
Start-Process (Upload-File -LocalData "$LocalData") -Wait
我看到了write-progress命令,但不知道如何在这里应用它。我应该做些不同的事情吗?
2条答案
按热度按时间ne5o7dgx1#
找到了这个Write-progress during Start-process -Wait,并根据您的场景进行了调整。一般的想法是用bypass替换wait,并让循环运行直到$process. hasexit:
然而,在这种情况下,状态只是一个计数器,但你可以用一些真实的东西来替换它,并将for循环更改为:
jvlzgdj92#
根据我的评论,当从控制台运行时,您必须将表单/GUI资源/名称空间添加到代码的顶部,以便加载表单内容,因为它们不会像伊势中那样自动加载。
注意:您不需要所有的名称空间。我在这里列出这些名称空间只是为了让您了解PS GUI方案中最常用的名称空间。