包括从一个脚本到另一个脚本的数组

时间:2015-01-02 19:34:58

标签: arrays include powershell-v1.0

我有多个脚本使用相同的数组来定义文件路径和获取文件日期。例如:

$file1path = "C:\filepath\file1.exe"
$file1date = (Get-Childitem $file1path).LastWriteTime.ToString("m/d/yyyy")

然后,这些脚本使用这些数组构建.ps1校验和脚本和VB监视脚本文件以及更新的文件日期信息,因为文件版本控制在这里有点儿玩笑。我认为我可以通过将这些200行数组放入一个主数组文件来简化这些脚本,然后这些其他构建脚本可能只有某种包含行来从这个主脚本中提取它调用的数组。

我有什么好办法吗?不幸的是,我受限于需要在我们的环境中使用PowerShell v1。

1 个答案:

答案 0 :(得分:4)

您可以将一个.ps1文件的内容点源到另一个.ps1文件。这使您可以有效地包含"常见的.ps1中定义的任何变量和函数,以及您所引入的任何.ps1脚本文件。例如:

Common.ps1 contents
-------------------
$files = @(Get-ChildItem c:\filepath\*.exe)

Doit.ps1 contents
-----------------
. .\common.ps1
foreach ($file in $files) {
    $fileDate = $file.LastWriteTime.ToString("MM/dd/yyyy")
}