我是PowerShell的新手,我遇到了一个我无法解决的问题。 我必须让我的函数连续分析很多文件夹,但是当我为函数提供参数时,我的程序不会工作......
Param(
[string]$fPath
)
analyse $fPath
$importList = get-content -Path C:\Users\lamaison-e\Documents\multimediaList.txt
$multimediaList = $importList.Split(',')
function analyse{
Param(
[parameter(Mandatory=$true)]
[String]
$newPath
)
cd $newPath
$Resultat = "Dans le dossier " + $(get-location) + ", il y a " + $(mmInCurrentDir) + " fichier(s) multimedia pour un total de " + $(multimediaSize) + " et il y a " + $(bInCurrentDir) + " documents de bureautique pour un total de " + $(bureautiqueSize) + ". La derniere modification du dossier concerne le fichier " + $(modifDate)
$Resultat
}
当“分析”不存在但在此之后停止工作时,它起作用了。 CommandNoFoundException。这可能是一个愚蠢的错误,但我不能处理它...谢谢你的时间。
答案 0 :(得分:4)
解析器将逐行读取与您类似的PowerShell脚本。
在解析analyze $fpath
的时间点,当前作用域中不存在函数analyze
,因为函数定义位于脚本的下方。
要在脚本中使用内联函数,请在调用之前将定义移动到某个点:
Param(
[string]$fPath
)
# Define the function
function analyse{
Param(
[parameter(Mandatory=$true)]
[String]
$newPath
)
cd $newPath
$Resultat = "Dans le dossier " + $(get-location) + ", il y a " + $(mmInCurrentDir) + " fichier(s) multimedia pour un total de " + $(multimediaSize) + " et il y a " + $(bInCurrentDir) + " documents de bureautique pour un total de " + $(bureautiqueSize) + ". La derniere modification du dossier concerne le fichier " + $(modifDate)
$Resultat
}
# Now you can use it
analyse $fPath
$importList = get-content -Path C:\Users\lamaison-e\Documents\multimediaList.txt
$multimediaList = $importList.Split(',')