Рекурсивно удалите все папки, запускающиеся с

Я не могу думать ни о каком кросс-платформенном способе того, что Вы хотите (или любой гарантируемый путь точка), но поскольку Вы используете GetTickCount, возможно, Вы не интересуетесь кросс-платформенным:)

я использовал бы межпроцессные взаимодействия и установил бы интенсивные процессы хорошие уровни для получения то, чего Вы требуете, но я не уверен, что это подходит для Вашей ситуации.

РЕДАКТИРОВАНИЕ: Я соглашаюсь с Bernard, который является, почему я думаю, процесс, а не поток мог бы быть более соответствующим, но это просто не могло бы удовлетворить Вашим целям.

12
задан jdhao 10 December 2017 в 19:03
поделиться

3 ответа

Это полный ответ, который вы ищете:

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

где, очевидно, вам нужно заменить specific_string на строку, начинающуюся с ваших папок с участием.

Это удаляет РЕКУРСИВНО , как вы просили (я имею в виду, что он проходит через все папки и подпапки).

42
ответ дан 2 December 2019 в 03:18
поделиться

Кажется, незаконченный. Если вы имели в виду «Рекурсивно спускаться по иерархии каталогов для удаления всех папок, начинающихся с определенной строки», тогда может быть достаточно следующего:

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

Это будет рекурсивно в дереве каталогов, найдя все папки, начинающиеся с «abc», и перебрать это list и удалив каждую папку.

Может быть, вам нужно обернуть если существует вокруг rd , в зависимости от порядка, в котором каталоги найдены и возвращены. В общем, повторение чего-либо и одновременное изменение этого редко бывает хорошей идеей, но иногда это работает: -)

1
ответ дан 2 December 2019 в 03:18
поделиться

Как насчет:

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

Это будет работать из командной строки. Внутри командного файла вам нужно будет удвоить % s, как обычно:

@echo off
for /d %%a in (certain_string*) do rd /s %%a
4
ответ дан 2 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: