我有一个删除某些文件的脚本。我遇到了一个错误,其中remove-item并不总是将它们全部删除。我看到了get-childitem remove include recurse,但收到此错误:
Get-ChildItem : Missing an argument for parameter 'Include'. Specify a parameter of type 'System.String[]' and try again. At D:\Scripts\powershell\myScript.ps1:39 char:47 + Get-ChildItem $dirPathToRemove -Include -Recurse | Remove-Item -R ... + ~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Get-ChildItem], ParameterBindingException + FullyQualifiedErrorId : MissingArgument,Microsoft.PowerShell.Commands.GetChildItemCommand
我的删除代码如下:
Get-ChildItem $dirPathToRemove -Include -Recurse | Remove-Item -Recurse -Force
所以我在该链接上尝试了另一种解决方案,并在链接上尝试了另一种建议(我认为):
$fullPath = (Resolve-Path $dirPathToRemove).ProviderPath
powershell -Command '$cmd.exe /c rd /s /q $fullPath'
但是我明白了:
+ $cmd.exe /c rd /s /q $fullPath + ~ You must provide a value expression following the '/' operator. At line:1 char:11 + $cmd.exe /c rd /s /q $fullPath + ~ Unexpected token 'c' in expression or statement.
在没有-Command
且仅使用$cmd.exe
的情况下,问题相似。
我有PowerShell 4。