我需要一种递归删除文件夹及其子文件夹的方法。
是否有一个预先构建的工具,或者我需要编写一个?
DEL /S不删除目录。
DELTREE已从Windows 2000+中删除
我需要一种递归删除文件夹及其子文件夹的方法。
是否有一个预先构建的工具,或者我需要编写一个?
DEL /S不删除目录。
DELTREE已从Windows 2000+中删除
当前回答
使用Powershell 5.1
get-childitem *logs* -path .\ -directory -recurse | remove-item -confirm:$false -recurse -force
替换为需要删除的目录名。
Get-childitem从当前路径(.)中递归地搜索具有该名称的子目录。
Remove-item删除结果。
其他回答
要删除一个目录(不管它是否存在),请使用以下命令:
if exist myfolder ( rmdir /s/q myfolder )
您可以在windows上安装GnuWin32并使用*nix命令。我安装这个之前,我安装任何其他在薄荷新鲜的拷贝窗口。:)
Rmdir /s dirname
对于在windows机器上安装npm包时遇到问题的任何人,如果你看到错误提示“rm -rf…”命令未找到,这是一个很重要的回答。 在windows下可以使用bash命令行执行rm命令。
对于npm用户,你可以将npm的配置更改为npm config set script-shell "C:\Program Files\Git\bin\bash.exe",这样,如果你要安装的npm包中有一个使用rm -rf命令的后安装脚本,你就可以运行那个rm命令,而不需要在npm包中更改任何内容或禁用后安装脚本配置。(例如,styles -components在安装后脚本中使用rm命令)
如果您只想使用rm命令,您可以轻松地使用bash并传递参数。
所以,是的,你可以在windows上使用'rm'命令。
作为旁注:
从linux版本用所有子dirs(递归)+强制删除
$ rm -rf ./path
到 PowerShell
PS> rm -r -fo ./path
它具有接近相同的参数(只是分开了)(需要-fo,因为-f可以匹配其他不同的参数)
注意:
Remove-Item ALIASE
ri
rm
rmdir
del
erase
rd