powershell - 脚本没有获得多行输入
问题描述
我有以下脚本允许我在控制台上获取用户 ID,然后检查相关用户的 AD 帐户的到期日期。收集ID的部分如下:
[array]$input = (Read-Host “Staff Numbers: ”).Split([System.Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries)
但是,当我将用户的员工编号粘贴到控制台时,它只读取第一行并结束脚本。第一个之后的其他数字仅显示在控制台上。
知道什么是错的吗?
解决方案
Read-Host
根据文档,应该只占用一行:
Read-Host cmdlet从控制台读取一行输入。
如果您想获得多行,您可以:
- 从文件中导入数据
- 在像这里这样
Read-Host
的循环内使用$arr = @(While($line=(Read-Host).Trim()){$line})
- 按照/r/PowerShell 上的建议,用任何其他字符(逗号、分号等)分隔值
$userInput = read-host "Enter a list of comma separated hostnames" $data = $userInput.split(",").trim(" ")
推荐阅读
- junit - 如何在 Mockito.Mock() 之后注入 Mock
- r - 如何从R中的文本语料库中删除特定单词?提供修改代码
- python - tf.math.reduce_mean 和 tf.keras.metrics.Mean 有什么区别?
- java - 如何摆脱父/子服务的循环依赖?
- angular - 如何强制浏览器语言设置为英语?
- flutter - 在 Flutter 中提取 Regex 中的字符串并将其转换为 Int
- arrays - 随机挑选独特的元素
- firebase - 如何每天在firebase数据库中重置数据库中的值?
- java - java.util.InputMismatchException:尝试重定向 txt 文件时出错
- discord.js - 如何只允许机器人所有者(我)运行命令