gpt4 book ai didi

windows - Windows 中的递归删除错误

转载 作者:可可西里 更新时间:2023-11-01 11:46:44 26 4
gpt4 key购买 nike

我目前正在卸载一些为大量文件生成数据的软件,所有.jpg.nfo,我想删除这些文件。我正在尝试使用 PowerShell 执行此操作,我尝试过的命令是:

del /S *.jpg

结果如下:

Remove-Item : A positional parameter cannot be found that accepts argument '*.jpg'.
At line:1 char:1
+ del /S *.jpg
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Remove-Item], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

谢谢!

最佳答案

tl;dr

  • Either:按原样运行 cmd.exe 命令,在其前面加上 cmd --% /c :
    cmd --% /c del /S *.jpg
    --% 是停止解析符号,它告诉 PowerShell 停止解析剩余参数并按原样传递它们(除了扩展 %<name>% 环境变量引用)- 请参阅 Get-Help about_Parsing

  • 或者:最好使用 PowerShell 的原生 Remove-Item cmdlet:
    Remove-Item * -Recurse -Include *.jpg -WhatIf
    请注意 common parameter -WhatIf 如何方便地让您在提交之前预览该操作;见 Get-Help Remove-Item

    • 警告:从 PSv5.1 开始,Remove-ItemCopy-ItemMove-Item cmdlet 以及在较小程度上的 Get-ChildItem 在递归操作和 -Include 和 0x1045 -67915 参数方面是出了名的挑剔有很多微妙之处。
      然而,一般来说,PowerShell 的 cmdlet 比它们的 -Exclude 对应的命令强大得多,学习如何有效使用它们的任何努力都是值得的 - 尤其是因为您很快就能在 Unix 上使用 PowerShell 平台也是如此

cmd.exe 命令,如 cmd.exedel 内置于 dir 中,不能从 PowerShell 直接调用;要调用它们,您必须使用 cmd.exe 显式调用 cmd.exe,如上所示。

可能令人困惑的是,PowerShell 为其自己的命令(cmdlet)定义了别名,这些命令(cmdlet)大致等同于 cmd /c 对应项.
PowerShell cmdlet 的真实名称非常不同,遵循冗长的 very consistent naming scheme(甚至管理 PowerShell-native 别名的命名)。

例如,cmd.exe 是 PowerShell 的 del cmdlet 的别名。

这个别名是一把双刃剑:一方面,它让习惯了 Remove-Item(批处理编程)的人更容易发现他们的 PowerShell 副本;另一方面,它掩盖了一个事实,即 PowerShell 的命令行语法非常不同

要了解当您键入名称时 PowerShell 实际调用的命令,请使用 cmd.exe:

> Get-Command del

CommandType Name Version Source
----------- ---- ------- ------
Alias del -> Remove-Item
  • 要快速了解命令的语法,请使用 Get-Command 调用它或使用 -? :
    Get-Help

  • 要获得更广泛的帮助,请使用 del /?Get-Help -detailed <cmd>参见 Get-Help -full <cmd>

如您所见,您也可以将 Get-Help -detailed Get-Help 传递给并使用命令的别名 形式调用 -?

关于windows - Windows 中的递归删除错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43023307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com