powershell - 通过自动调度程序使用 Powershell 解析脚本
问题描述
我在 Trizetto Elements 上做一个项目,据说文件命名是可变的,所以我制作了一个解析脚本,以确保在开始批量加载时获取正确的文件。在我的桌面上运行良好,但一旦我将它插入 Automic 调度程序,它就会开始抱怨无法将值加载到空数组中。
我尝试作为批处理脚本加载并通过自动 Powershell 解释器运行并得到类似的结果
################Load file content into variables##########
$array = GCI -Path "F:\Originpath"
$num = $array.Count - 1
for ($i=0; $i -le $num; $i++ ){$text[$i]
$text[$i]= get-content $array[$i]|select -First 10
"Parsing first ten rows of file" + " " + ($array[$i])
write-host $text[$i]}
####################Evaluate file contents for match####################
for ($b=0; $b -le $num; $b++ ){
if($text[$b]| Select-String -Pattern '.*,H9047,.*,51,'){
Move-Item -path $array[$b] -destination "F\:destination path\"
}}
我希望它将正确的文件移动到目的地,而不是我得到
c:\>powershell -File F:\Automic\Agents\Windows\Resources\0001\0002378703\0002378703_0001.ps1
Cannot index into a null array.
At F:\Automic\Agents\Windows\Resources\0001\0002378703\0002378703_0001.ps1:5 char:5
+ $text[$i]= get-content ($array[$i])|select -First 10
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArray
解决方案
您尚未初始化文本数组: $text[$i]
而是尝试类似:
$text = @()
$num = $array.Count - 1
for ($i=0; $i -le $num; $i++ ){
$text+= get-content $array[$i]|select -First 10
ETC
推荐阅读
- html - 为什么 CSS 预加载不起作用或根本不应用样式?
- ios - SwiftUI 和函数 - 在范围内找不到“viewContext”
- typescript - 打字稿中的联合类型和鸭子类型
- java - 如何保存高分值并在应用程序关闭时加载它
- flutter - Flutter:如何共享 statefull 小部件的实例?
- google-bigquery - 如何在 AWS Glue 到 BigQuery 连接器中指定项目 ID?
- python - 指定运行 pip 卸载时应删除的文件?
- node.js - \[express-ntlm\] 不存在授权标头
- python - 如何使用 python/Boto3 按文件名过滤 s3 新对象创建的事件?
- java - 无法通过 java 连接到 PowerDesigner