3 windows powershell delete-file
我目前正在卸载一些为大量文件生成数据的软件,.jpg并且.nfo我想删除这些文件。我正在尝试使用 PowerShell 来执行此操作,我尝试过的命令是:
del /S *.jpg
Run Code Online (Sandbox Code Playgroud)
并收到以下结果:
删除项目:找不到接受参数“*.jpg”的位置参数。
在行:1个字符:1
+ del /S *.jpg
+ ~~~~~~~~~~~~
+ CategoryInfo:InvalidArgument:(:) [Remove-Item],ParameterBindingException
+ ExcellentQualifiedErrorId:PositionalParameterNotFound,Microsoft.PowerShell .Commands.RemoveItemCommand
谢谢!
太长了;博士
要么:按原样运行cmd.execmd --% /c命令,在命令前面加上: (
cmd --% /c del /S *.jpg
--%停止解析符号),告诉 PowerShell 停止解析剩余参数并按原样传递它们(扩展%<name>%环境变量引用除外) - 请参阅Get-Help about_Parsing。
或者:最好使用 PowerShell 的本机Remove-Itemcmdlet:
Remove-Item * -Recurse -Include *.jpg -WhatIf
请注意,公共参数 -WhatIf如何方便地允许您在提交操作之前预览操作;看Get-Help Remove-Item。
Remove-Item和cmdlet在涉及递归操作以及 和 参数时在较小程度上非常挑剔Copy-Item-Move-Item有许多微妙之处。
然而,一般来说,PowerShell 的 cmdlet 比同类的 cmdlet 强大得多,学习如何有效使用它们的任何努力都是值得的 - 尤其是因为您很快就能够在Unix平台上使用 PowerShell 。Get-ChildItem-Include-Excludecmd.execmd.exedel和 等命令dir内置于 PowerShell 中,无法直接从 PowerShellcmd.exe调用;要调用它们,您必须使用显式调用,如上所示。cmd.execmd /c
可能令人困惑的是,PowerShell为其自己的命令 (cmdlet)定义了别名,这些别名以大致等效的对应命令命名。cmd.exe
PowerShell cmdlet 的真实名称非常不同,遵循冗长但非常一致的命名方案(甚至管理PowerShell 本机别名的命名)。
例如,del是 PowerShell cmdlet 的别名Remove-Item。
这种别名是一把双刃剑:一方面,它使习惯cmd.exe(批处理编程)的人更容易发现其 PowerShell 对应项;另一方面,它掩盖了PowerShell 的命令行语法完全不同的事实。
要了解键入名称时 PowerShell 实际调用的命令,请使用Get-Command:
> Get-Command del
CommandType Name Version Source
----------- ---- ------- ------
Alias del -> Remove-Item
Run Code Online (Sandbox Code Playgroud)
要快速概述命令的语法,请使用以下命令调用-?它Get-Help:
del /?
如需更广泛的帮助,请使用Get-Help -detailed <cmd>或Get-Help -full <cmd>; 看Get-Help -detailed Get-Help。
正如您所看到的,您也可以传递命令的别名形式并使用命令的别名-?形式进行调用。Get-Help
| 归档时间: |
|
| 查看次数: |
6109 次 |
| 最近记录: |