我有一个用于foldercleanup的powershell脚本。我希望键值($ key)由一个名为passval的函数返回,该函数是一个单独的文件。但它不会过去。 这是函数
function passval{$s="cleanupfolder"
$s
return $s}
这是主要代码
$colItems = (Get-ChildItem D:\00Newfolder -recurse | Measure-Object -property length -sum)
"{0:N2}" -f ($colItems.sum / 1MB) + " MB"
$xxx="{0:N2}" -f ($colItems.sum/ 1MB)
$str=Get-Content D:\trial.txt | ConvertFrom-Csv
"This is the function passed value"
$key = passval
echo $key
$flag=0
for($i=0; $i -lt $str.length; $i++){
if($str[$i].key -eq $key){
$flag=1
$flag
$value=$str[$i].value
}
}
$flag
if($flag -eq 0){$a = new-object -comobject wscript.shell
$b = $a.popup(“no match" )}
if($flag -eq 1){$a = new-object -comobject wscript.shell
$b = $a.popup(“ match" )}
if($xxx -gt $value){Remove-Item D:\00Newfolder\* -include *.jpg}
$colItems = (Get-ChildItem D:\00Newfolder -recurse | Measure-Object -property length -sum)
"{0:N2}" -f ($colItems.sum / 1MB) + " MB"
$xxx="{0:N2}" -f ($colItems.sum/ 1MB)
答案 0 :(得分:1)
您的passval
函数定义在哪里?它必须在被调用之前定义。现在,它将返回您的值两次,将其更改为:
function passval
{
$s="cleanupfolder"
return $s
}
并在旁边注意:处理格式化和命名。在powershell中,您的函数应该被称为Get-PassValue