【发布时间】:2021-06-13 20:18:15
【问题描述】:
我使用 Powershell 创建并编写脚本,将数据表的结果复制到剪贴板中,以便将其粘贴到 Excel 中:
$excelArray = New-Object 'object[,]' $dt_table1.Rows.Count, $dt_table1.Columns.Count
$excelArray = ForEach($Row in $dt1.Tables[0].Rows)
{
$Record = New-Object PSObject
ForEach($Col in $dt1.Tables[0].Columns.ColumnName)
{
Add-Member -InputObject $Record -NotePropertyName $Col -NotePropertyValue $Row.$Col
}
$Record
}
$excelArray | ConvertTo-CSV -NoType -Del "`t" | Select -Skip 1 | Clip
[void]$WorkSheet.columns.Item(1).cells.Item(2).PasteSpecial()
$WorkSheet.Visible = $false
当我使用“Powershell ISE”执行脚本时,该脚本运行良好,但当我使用“Windows 任务计划程序”中的 CMD 批处理计划此脚本时,问题就出现了。当管理员用户连接到 RDP 并通过调度程序执行此批处理时,它不会将结果复制到 excel 工作表中,它会复制我在剪贴板中的最后一件事。
当执行批处理并关闭 RDP 会话时,批处理失败而没有给我一个错误.....这是怎么回事?也许还有另一种方法可以将数据表或数据集的结果复制到 xcel 工作表中以避免剪贴板?
谢谢!
【问题讨论】:
标签: excel powershell dataset scheduled-tasks