我有一个问题,我试图解决,但似乎不能找出关键部分。我们每天使用. jar文件处理大量的记录,但问题是我们必须一个一个地处理,这很耗时。我认为如果我们使用powershell脚本,我们可以节省大量的时间。
问题是我不知道如何将参数从csv传递到powershell中的函数。
我的csv看起来是这样的
NAME,ID
-------
John,18
Dave,19
Carmen,20
Eric,21
Tom,22
Lisa,23
Kyle,24
函数为
function CreateUser
& java -jar --create -user $name -id $id -file D:/HR/$name-$id-form.pdf
我使用
$dataCSV = "D:\HR\Input\20150303NewUsers.csv"
$data = Import-Csv $dataCSV
因此,我需要一些东西,将系统地向下的文件,并通过名称字段内的csv作为$名称和ID字段作为$id一遍又一遍,直到完成。但是我不知道如何在ForEach-Object方法上传递这两个:(
我被卡住了...我整个周末都在挣扎,但一无所获。
任何帮助或指导都将不胜感激!或者如果有人知道如何在Python中做到这一点,那也会很酷!:)
3条答案
按热度按时间3pvhb19x1#
我编写了一个工具,它可以遍历一个表(从csv文件导入),并为表中的每一行生成一个模板的展开。我做的一件事是将行中的每个值复制到与列同名的powershell变量中。这可能对你有帮助。
下面是我写的工具:
您可能会感兴趣的部分是内部循环,我在其中执行一个Set-Variable,它将列名与实际值匹配。
dojqjjoe2#
不确定是否是打字错误,但是你的
D:\...
需要用引号括起来,你还没有关闭它。一旦
$data
保存了导入值的列表,只需执行foreach ($item in $data) {do something}
其中
$item
是您想要的任何单词(变量),它只是引用CSV中的每行。所以...
xlpyo6sf3#
此脚本将提取Name标题下的值,并将它们放置在$name变量中。然后,它会将这些值放在ID头下面,并将它们放在$id变量中。