powershell - 在 foreach UNIQUE 中创建“cmd /c”命令
问题描述
我有一个脚本,它运行一个命令来启动一个名为 Process.ps1 的 PowerShell 脚本来处理表中的一些多维数据集。
$Table = Query "SELECT * from [dbo].[$cubeTable] WHERE [application] = '$App_input' ORDER BY [sequence]"
$i=0
$CUBE = @()
foreach($row in $Table)
{
Write-Host "`r`n---------------------------START of Script-----------------------------"
Write-Host "`r`n [Application] : $App_input"
Write-Host " [Script] : $Script"
$i++
$CUBE = $row.Item("cube_name")
$CUBE = $CUBE | Select-Object -Unique
#Write-Host " > CUBE $($i): $($CUBE[-1])`n"
cmd /c "runPowerShell.bat $Script $($CUBE)" #where $Script is Process.ps1 script that processes on each CUBE selected from table in order
}
出于某种原因,它在同一个多维数据集上运行了两次处理。
如何在cmd /c "runPowerShell.bat $Script $($CUBE)"
命令中添加“唯一”方面,以便如果$CUBE
再次传回相同的内容,它会忽略它并循环处理下一个不同的多维数据集?
有一个Select-Object -Unique
对象,而不是命令......
解决方案
我想到了。
我修改了我的查询语句:
$Table = Query "SELECT DISTINCT[cube_name], [sequence] from [dbo].[$cubeTable] WHERE [application] = '$App_input' ORDER BY [sequence]"
它现在只存储一个不同的多维数据集,因此cmd /c "runPowerShell.bat $Script $($CUBE)"
只运行该多维数据集一次
推荐阅读
- c++ - 不同大小的向量数组的大小 cpp
- mysql - 用 Typeorm QueryBuilder 表示 Mysql 原始查询
- sql - 检查并完成 SQL 视图中的缺失数据
- javascript - 格式化 JSON 对象,从单引号到双引号
- reactjs - 如何在反应中登录到控制台
- python - Python:带有存储在变量中的grep值的Shell总是附加一行
- ios - 如何使用音乐网址数组在 MPMusicPlayerController 上播放音乐
- android - 发送广播到关闭的 Activity
- selenium-webdriver - 机器人框架 - Selenium - ChromeOptions“提示下载”在下载文件时不起作用
- python - 计算两对 X 和 y 之间相似度的最佳实践是什么