在Powershell的字符串中使用csv记录

时间:2018-05-08 00:20:25

标签: powershell csv

我将.csv导入变量$ user。然后,我可以使用$ user.ARN(例如)访问每个字段。这很好。

但是我需要使用这个变量构建一个字符串。

$SQLQuery = "USE Cardpresso INSERT INTO dbo.students (Name, ARN, CardNumber, isPrinted) VALUES('$DisplayName', $User.ARN , $CardNumber, 0);"

当我检查$ SQLQuery变量中的内容时,它将整个csv行保存在$ User.ARN的位置。

USE Cardpresso INSERT INTO dbo.students (Name, ARN, CardNumber, isPrinted) VALUES('%%% %%%', @{FirstName=%%%; LastName=%%%; ARN=%%%; Group=%%%; Email=unknown@unknow.com; Pass=%%%; Site=%%%; CardNumber=}.ARN , 508, 0);

(%%%是真实数据,刚删除)

为什么$ User.ARN不仅仅被替换为该字段的数据,而是输入整行?

由于

1 个答案:

答案 0 :(得分:0)

对于文件" sample.csv"内容:

name,age,gender
billy,22,M
suzie,26,F
mikey,19,M
Tez,22,F

我正在导入CSV,并且我正在制作每条记录的插入语句:

$stuff = Import-Csv -Delimiter ',' -Path .\sample.csv

foreach ($thing in $stuff) {
echo "INSERT INTO Cardpresso.dbo.students (Name, Age, Gender) VALUES ('$(${thing}.name), $(${thing}.age), '$(${thing}.gender)');" 
}

直播示例......

enter image description here

祝你好运。