powershell - Powershell - 将变量传递给带引号的字符串循环
问题描述
我试图了解如何设置我的脚本,以便单引号将环绕我的变量。我有一个 1500 个客户的列表,我需要为其重复我的脚本,所以我想做一个 foreach 循环。
$customerlist = Invoke-Sqlcmd -Query "SELECT [CustomerNo] FROM [TABLE]" -ServerInstance "SERVER\INSTANCE"
#Loop through
foreach ($customer in $customerlist)
{
$inputParams = @{
"CustomerNo" = "'"+$customer+"'";
}
....Do rest of script
}
我需要 $inputparams 中的 $customer 变量以单引号中的字符串值显示,例如 '01233456' 而不仅仅是 0123456。我尝试了几种不同的 "'"+$customer+"'" 迭代,但似乎无法获取正确的语法。有人可以帮我吗?
解决方案
Invoke-Sqlcmd
返回[System.Data.DataRow]
类型对象,将查询结果的字段名称和值作为其属性(基本上是一个表)。要选择 CustomerNo 中的值,您必须按名称指定值:
# Expand the CustomerNo property to strings
foreach ($customer in $customerlist.CustomerNo) { }
# Or, later in the script:
$inputParams = @{
CustomerNo = "'$($customer.CustomerNo)'"
}
推荐阅读
- java - 如何在 Java Selenium 中使用 URL + 变量访问多个选项卡?
- node.js - express-session 和 passport-local 策略是如何工作的,它的执行流程是什么?
- python - 步行循环不在 Pygame 中循环,“+=”只执行一次
- reactjs - 反应组件不反映道具
- php - PHP - 阻止客户端使用 cURL 向我的网站发送 POST 请求
- amazon-cloudformation - Cloudformation 使用引擎 aurora-postgresql 和引擎模式创建 RDS 集群:无服务器
- angular - Angular:如何将私有方法纳入代码覆盖范围?
- javascript - 在 NodeJS 的 Visual Studio 代码中从调试器访问 args 属性
- python - SQLAlchemy 没有将 Python 池线程识别为单独的进程
- python - 为什么在 cmd 或 IDE 中都找不到 Python 和 pip?