Function PowerShell—我第一次尝试函数can';找不到函数

Function PowerShell—我第一次尝试函数can';找不到函数,function,powershell,Function,Powershell,正在尝试在PowerShell脚本中包含函数。我得到的信息是该函数不存在 我有一个函数,就在下面创建参数的地方。我想我错过了什么。我有许多要备份的文件夹,并希望为每个文件夹调用函数 代码从这里开始(为了简洁起见,上面的代码和婴儿车的创建被省略) Powershell是一种解释语言,它意味着文件从上到下读取,并被解释为我们在说话 因此,如果在定义函数之前调用该函数,Powershell解释器将不知道您在说什么 您可以尝试对代码重新排序,这应该可以做到: # DEFINE FUNCTION func

正在尝试在PowerShell脚本中包含函数。我得到的信息是该函数不存在

我有一个函数,就在下面创建参数的地方。我想我错过了什么。我有许多要备份的文件夹,并希望为每个文件夹调用函数

代码从这里开始(为了简洁起见,上面的代码和婴儿车的创建被省略)


Powershell是一种解释语言,它意味着文件从上到下读取,并被解释为我们在说话

因此,如果在定义函数之前调用该函数,Powershell解释器将不知道您在说什么

您可以尝试对代码重新排序,这应该可以做到:

# DEFINE FUNCTION
function BackupCrismaByShop {
       param(
    [string]$LogFile,
    [string]$CrismaSource,
    [string]$CrismaSaveTo,
    [string]$ImagesSource
    )
   # Backup script....

}

# YOUR VARIABLES AND OTHER STUFF

$ImagesSaveTo = "s3://crisma-backup/HERTRICH/Milford/$dow/images"

# CALLING THE FUNCTION
BackupCrismaByShop -$LogFile $CrismaSource $CrismaSaveTo $ImagesSource
我可以想象您正在使用Powershell ISE编写代码。我建议您尝试使用Visual Studio代码。当您编写未使用的变量、已调用但尚未定义的函数等代码时,它将为您提供一些建议和警告


谢谢。

在脚本中,函数的定义必须早于您尝试调用它们的地方,请尝试将函数的定义移到您调用它的地方,看看这是否有帮助。
# DEFINE FUNCTION
function BackupCrismaByShop {
       param(
    [string]$LogFile,
    [string]$CrismaSource,
    [string]$CrismaSaveTo,
    [string]$ImagesSource
    )
   # Backup script....

}

# YOUR VARIABLES AND OTHER STUFF

$ImagesSaveTo = "s3://crisma-backup/HERTRICH/Milford/$dow/images"

# CALLING THE FUNCTION
BackupCrismaByShop -$LogFile $CrismaSource $CrismaSaveTo $ImagesSource