我正在编写一个Powershell脚本,它将向用户提供SQL查询选项,以运行和获取报告。我有一个完整的目录,其中充满了这些查询,但不知道如何动态列出名称,并在终端中对它们进行编号。我知道我可以硬编码它们,但我希望说明稍后添加或删除的脚本。
项目的文件夹结构如下所示,我已经完成并测试了调用和执行查询的方法。
- Powershell_Script.ps1
> Individual queries
- Query 1.sql
- Query 2.sql
- Query 3.sql
本质上,我希望能够呈现一个如下的菜单,用户可以简单地通读,并选择一个数字来运行该特定脚本。
Individual Scripts
******************
1. 500MB Files.sql
2. 4GB Files.sql
3. Duplicate Users.sql
4. Flat space Files.sql
etc...
2条答案
按热度按时间von4xj4u1#
您可以在脚本目录上使用Get-ChildItem并将其推送到ForEachObject循环,以便按顺序对每个脚本进行编号并在控制台中显示文件名。您可以同时将脚本的FullName(路径)存储在变量中,以便在用户输入后引用。
7xzttuei2#
我通过添加一个表达式字段作为Format-Table属性列表中的第一个字段来实现这一点:
第一个月
在使用Read-Host获得一个数字之后,我减去1以返回数组中的实际偏移量。