我有powershell函数错误,没有执行

时间:2015-11-25 03:09:40

标签: powershell

我是powershell脚本的初学者。我有一个diskcap函数,以避免重新输入文本。但我得到错误。

    Function DiskCap­ {
     return 
     (write-host "calcule de l'espace libre avant le nettoyage.")
     ($FreeSpace = (Get-WmiObject win32_logicaldisk | where { $_.DeviceID -eq $env:SystemDrive }).FreeSpace)
     ($yourdisk = Get-WmiObject Win32_volume)

      ForEach ($Item in $YourDisk) {
      "{0,-8} {1,2}" -f $Item.Name, (Format-DiskSize $Item.Capacity).phase
      } 
     }

 pause
 #Write-Host $(diskcap)
  

[ERROR] diskcap:Le terme«diskcap»n'est pas reconnu nom nom d'applet de commande,[ERROR] fonction,fichier de script ou   程序exécutable。 Vérifiezl'orthographedu nom,[ERROR] ou si un   chemin d'accèsexiste,vérifiezquele chemin d'accèsestcorrect et   [ERROR]réessayez。 [错误]Aucaractère   C:\ Users \ SoutienInformatique \ Downloads \ Ninite \ CLEAN.ps1:53:15   [ERROR] + Write-Host $(diskcap)[ERROR] + ~~~~~~~   [ERROR] + CategoryInfo:ObjectNotFound:(diskcap:String)   [],CommandNotFoundEx [ERROR] ception [ERROR] +   FullyQualifiedErrorId:CommandNotFoundException [ERROR]

1 个答案:

答案 0 :(得分:0)

以下代码不会抛出“'diskcap'无法识别为cmdlet的名称”错误。

您不需要在末尾添加写主机$(diskcap)来获取函数的输出。你可以打电话给它。每个语句的括号也不是必须的。

function DiskCap­ {  
  write-host "calcule de l'espace libre avant le nettoyage." 
  $FreeSpace = (Get-WmiObject win32_logicaldisk | Where-Object { $_.DeviceID -eq $env:SystemDrive }).FreeSpace
  $yourDisk = Get-WmiObject Win32_volume 
  foreach ($Item in $yourDisk) 
  {
    "{0,-8} {1,2}" -f $Item.Name, (Format-DiskSize $Item.Capacity).phase
  } 
}

Pause
DiskCap­