我是 PowerShell 的绝对初学者, 带有一对 PS1 文件。 第一个执行一些基本检查,然后启动一个文件,其完整路径已作为字符串传入。 $参数[0] 一切正常, 但传入的文件名可以是批处理文件或 PS1。 我有两个问题: 在脚本中如何从名称中获取文件扩展名? 将扩展名作为另一个参数传递会更容易/更好吗? 然后根据需要运行批处理或 PS1。 如果扩展名是 PS1 则运行 PS1, 如果是BAT,则运行批处理文件
谢谢
您可以使用以下方式获取扩展:
(Get-ChildItem .\test.ps1).Extension
本例中输出为“.ps1”。
您需要在脚本中使用类似的内容:
switch ((Get-ChildItem $argv[0]).Extension) {
".ps1" {
# Do this for ps1
}
".bat" {
# Do this for bat
}
default {
# Do this for something else
}