小编Yad*_*Yad的帖子

在C#中将Powershell PSObject作为DataTable返回

我编写了一个Powershell脚本,它读取CSV文件并从数据中返回一个预定的集合.以下是所述脚本的示例输出.

Count     Name
------   ------
  12      Rubies
   3      Pearls
  20      Emeralds
Run Code Online (Sandbox Code Playgroud)

我可以通过将它存储在PSObject中来获得C#中的结果:

var shell = PowerShell.Create();
shell.Commands.AddScript("C:\\Scripts\\Powershell\\Get-MyData.ps1");
Collection<PSObject> results = shell.Invoke();
Run Code Online (Sandbox Code Playgroud)

现在当我期待一个对象时,我能够获得每个值并将它们分配给这样的变量:

foreach (PSObject psObject in results)
{
   localVariable = Convert.ToString(psObject.Properties["Name"].Value);
}
Run Code Online (Sandbox Code Playgroud)

但是,我无法将此解决方案转换为动态解决方案.也就是说,预计行数会有所不同.所以我之前已经实现了这个,当源是一个SQL数据库时,使用类似于这里发布的解决方案,所以我假设数据表应该是要走的路,但我不能让它在这种情况下工作.任何想法或建议?谢谢!

注意:这里的Powershell脚本组件是强制性的,因为它包含了其他制定输出的机制,所以当我只能使用C#从CSV文件中读取时,这根本不是一个选项.

c# datatable powershell psobject

5
推荐指数
1
解决办法
2292
查看次数

PowerShell - 正则表达式在两个字符串之间获取字符串

我在正则表达方面不是很有经验.你能告诉我如何从两个字符串之间获取字符串值吗?

主题将始终采用以下格式: //subject/some_other_stuff

我需要在//和之间找到字符串/.

例如:

全字符串= //Manhattan/Project

输出= Manhattan

任何帮助将非常感谢.

regex string powershell special-characters

4
推荐指数
1
解决办法
2万
查看次数

获取模式的最后一个实例

我需要一个正则表达式的帮助,它将在一行中获得模式的最后一个实例.

有问题的行用以下模式编写(用斜杠分隔):

/this/is/how/it/looks/
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我希望得到looks输出.

请注意,这些行不均匀,并且可以包含比示例更少或更多的字符串.

/it/can/be/shorter/
/it/can/also/be/longer/than/most/lines/
Run Code Online (Sandbox Code Playgroud)

对于上述行,我期望能获得shorterlines分别.

regex powershell

2
推荐指数
1
解决办法
279
查看次数

Java:从ArrayList获取所有第一个条目

我有一个包含用户信息数组的ArrayList(~900条目):

[swaschit, Sophia Waschitz, Dormant, Inactive, 1/1/2018]
[kolanday, Kyle Olanday, Dormant, Inactive, 1/1/2018]
[npowers, Neil Powers, Assigned, Active, 2/11/2018]
Run Code Online (Sandbox Code Playgroud)

我想从这个列表中生成一个只包含每个对象的第一个元素的数组:

[swaschit, kolanday, npowers, ...]
Run Code Online (Sandbox Code Playgroud)

这样做最有效的方法是什么?

java arrays arraylist

1
推荐指数
1
解决办法
106
查看次数