Если я правильно понял ваш вопрос, вы хотите удалить файлы в папке (без файлов в подкаталогах). Вы можете добиться этого, используя for -loop в Batch-File.
Для вашего случая использования вы должны написать что-то вроде следующего в пакетный файл (.bat
):
@ECHO OFF
for /f %%i in ('dir Test\*xyz* /b /a-d') do (
echo %%i
del %%i
)
Цикл перебирает каждую строку в результате выполнения команды dir
и выводит имя файла в консоль. После этого он удаляется.
В документации для -цикловых состояний:
Итерация и разбор файла
Использовать синтаксический анализ файла для обработки вывода команды, строк и содержимого файла. Используйте итерационные переменные для определения содержимого или строк, которые вы хотите исследовать, и используйте различные параметры ParsingKeywords для дальнейшей модификации анализа. Используйте параметр токена ParsingKeywords , чтобы указать, какие токены следует передавать в качестве итерационных переменных. Обратите внимание, что при использовании без параметра токена / f будет проверять только первый токен .
Синтаксический анализ файла состоит из чтения выходных данных, строки или содержимого файла, а затем разбиения его на отдельные строки текста и разбора каждой строки на ноль или более токенов. Затем вызывается цикл for со значением итерационной переменной, установленным в токен. По умолчанию / f пропускает первый пустой токен из каждой строки каждого файла. Пустые строки пропускаются.
Синтаксис:
for /f ["<ParsingKeywords>"] {%%|%}<Variable> in (<Set>) do <Command> [<CommandLineOptions>]
for /f ["ParsingKeywords"] {%%|%}<Variable> in ("<LiteralString>") do <Command> [<CommandLineOptions>]
for /f ["<ParsingKeywords>"] {%%|%}<Variable> in ('<Command>') do <Command> [<CommandLineOptions>]
Итак, в приведенном выше примере мы использовали последнюю версию (использовали вывод команды).
Указанная команда является командой dir .
В документации по команде dir указано:
/b
Отображение пустого списка каталогов и файлов без дополнительной информации. / b переопределяет /w.
и
/a[[:]<Attributes>]
Отображает только имена этих каталогов и файлов с указанными вами атрибутами. Если вы опустите / a, dir отобразит имена всех файлов, кроме скрытых и системных файлов. Если вы используете / a без указания атрибутов, dir отображает имена всех файлов, включая скрытые и системные файлы.
В следующем списке описаны все значения, которые вы можете использовать для атрибутов. Использование двоеточия (:) необязательно. Используйте любую комбинацию этих значений и не разделяйте значения пробелами.
d
Каталоги
h
Скрытые файлы
s
Системные файлы
l
Очки повторной обработки
r
Только для чтения файлов
a
Файлы готовы к архивированию
i
Не проиндексированные файлы содержимого
-
Префикс, означающий «не»
, поэтому вам нужно будет использовать /b
для простого списка имен файлов и /a-d
для исключения возможных каталогов в списке результатов.
На заметку: Вы также можете добиться этого, используя простой C #. Если вам нужна помощь, просто дайте мне знать; -)