Recursively delete all folders starting with

陌路散爱 提交于 2019-12-20 12:23:27

问题


I need to write a command in a .bat file that recursively deletes all the folders starting with a certain string. How may I achieve this ?


回答1:


This is the complete answer you are looking for:

FOR /D /R %%X IN (certain_string*) DO RD /S /Q "%%X"

where obviously you need to replace certain_string with the string your folders start with.

This deletes RECURSIVELY as you asked (I mean it goes throught all folders and subfolders).




回答2:


How about:

for /d %a in (certain_string*) do rd /s %a

This will work from the command prompt. Inside a batch file, you would have to double the %s, as usual:

@echo off
for /d %%a in (certain_string*) do rd /s %%a



回答3:


Unfinished, I think. If you meant "Recursively go down a directory hierarchy to delete all folders starting with a certain string", then the following might suffice:

for /f "delims=" %%x in ('dir /b /ad abc*') do rd /s /q "%%x"

This will recurse into the directory tree, finding all folders starting with "abc", iterate over that list and removing each folder.

Maybe you need to wrap an if exist around the rd depending on the order in which directories are found and returned. In general, iterating over something and changing it at the same time is rarely a good idea but sometimes it works :-)




回答4:


rm -rf -- "Directory name"

Ex : rm -rf -- "-2096378"

Above command will deletes the folders/directories starting with - or wildcard characters




回答5:


FOR /F "tokens=*" %i IN ('DIR **[[SearchTerm]]** /A:D /s /b') do rd /S / Q %i


来源:https://stackoverflow.com/questions/1807425/recursively-delete-all-folders-starting-with

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!