gpt4 book ai didi

Powershell - 从文件加载参数

转载 作者:行者123 更新时间:2023-12-03 14:36:03 26 4
gpt4 key购买 nike

这是我的第二个问题,相当快的接类人!基本上目前,我正在运行一个 powershell 脚本,我手动执行该脚本并将参数传递给 CMD 行,例如:

PostBackupCheck.Ps1 C 1 Hello Test Roger 

这些被放入变量并在脚本中使用。

有没有办法将这些逐行添加到文本文件中,例如:
C 1 Hello Test Roger 0
C 2 Hello Test Roger 1
C 3 Hello Test Roger 2

然后让Powershell脚本使用第一行,执行脚本,然后循环返回并使用下一行,执行脚本,循环返回等等。

所以在上下文中 - 我需要在以下命名上下文中安装图像
SERVERNAME_DRIVELETTER_b00x_ixxx.spi

在哪里,
SERVERNAME = Some string
DRIVELETTER = Some Char
b00X - where X is some abritrary number
ixxx - where xxx is some abritrary number

所以在我的文本文件中:
MSSRV01 C 3 018
MSSRV02 D 9 119

等等。它使用此信息来安装特定的备份镜像(通过 ShadowProtect 的
mount.exe SERVERNAME_DRIVELETTER_b00x_ixxx.spi

谢谢!

最佳答案

你可以尝试做这样的事情:
p.txt的内容:

C 1 Hello Test Roger 0
C 2 Hello Test Roger 1
C 3 Hello Test Roger 2

脚本内容 p.ps1
param($a,$b,$c,$d,$e,$f)

"param 1 is $a"
"param 2 is $b"
"param 3 is $c"
"param 4 is $d"
"param 5 is $e"
"param 6 is $f"
"End Script"

对脚本的调用:
(Get-Content .\p.txt ) | % { invoke-expression  ".\p.ps1 $_" }

结果:
param 1 is C
param 2 is 1
param 3 is Hello
param 4 is Test
param 5 is Roger
param 6 is 0
End Script
param 1 is C
param 2 is 2
param 3 is Hello
param 4 is Test
param 5 is Roger
param 6 is 1
End Script
param 1 is C
param 2 is 3
param 3 is Hello
param 4 is Test
param 5 is Roger
param 6 is 2
End Script

编辑:

编辑后,您可以尝试这样的操作。
Get-Content .\p.txt  | 
% { $a = $_ -split ' ' ; mount.exe $($a[0])_$($a[1])_b00$($a[2])_i$($a[3]).spi }

关于Powershell - 从文件加载参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432689/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com