我是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]
答案 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