Командная строка - Удалить в папке с регулярным выражением windows - PullRequest
0 голосов
/ 09 марта 2020

Цель

Как я могу удалить все файлы в папке (рекурсивно) с помощью регулярного выражения в имени файла?

С Windows 10 я могу использовать консоль PowerShell или git с unix команд.

Обязательные баллы

  • НЕ соответствует /.+?-dbg.*?\.js/
  • Для сопоставления файла требуется сопоставить «братский файл» с предыдущий шаблон точек.

Пример тестовой папки содержит

  • ActionMode. js
  • ActionMode-dbg. js
  • Component. js
  • Component-dbg. js
  • DualContribution.controller. js
  • DualContribution-dbg.controller. js
  • ресурсов. js
  • manifest- json

Файлы, которые будут удалены

  • ActionMode. js
  • Компонент. js
  • DualContribution.controller. js

Если вам нужна дополнительная информация, пожалуйста, спросите меня. Спасибо.

1 Ответ

1 голос
/ 09 марта 2020

Я не знаю, действительно ли это вам помогает, но вот быстрое решение. Этот код Autoit выводит на консоль все файлы, которые вы хотите удалить.

#include <Array.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>
$allFiles = _FileListToArrayRec(@ScriptDir, '*.js', $FLTAR_FILES,   $FLTAR_RECUR , $FLTAR_SORT, $FLTAR_FULLPATH  )

If @error Then ConsoleWrite(@error & @crlf)
_ArrayDisplay($allFiles, "Sorted tree")

For $i = 0 to UBound($allFiles) -1
    If StringInStr($allFiles[$i], '-dbg') <> 0 Then
        If StringReplace($allFiles[$i], '-dbg', '') == $allFiles[$i-1] Then ConsoleWrite('Delete file: ' & $allFiles[$i-1] & @CRLF)
    EndIf
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...