На регулярной основе я пытаюсь очистить некоторые папки данных для программы ERP, прежде чем делать резервную копию и выполнять обслуживание таблиц данных. Я использовал проводник Windows для поиска посторонних резервных копий и временных файлов перед полным резервным копированием (процедуры обслуживания создают резервные файлы во время процесса, которые не всегда удаляются), но я хотел бы просто запустить все это через пакетный файл для упрощения и ускорения процесса. Я фильтрую следующим образом:
*NGT????????????.old
*Wrk*????????????.m4t
Кроме того, команда, которую я использую:
del /S /Q
Оба они отлично работают, хотя функция поиска в Проводнике. Первый корректно работает в командной строке, а второй нет. Серии ? создаются программным обеспечением ERP в качестве метки времени, чтобы указать, что копия оригинала была создана в то время. И второй * представляет собой идентификатор пользователя из одного или двух символов, который указывает пользователя, создавшего файл (это не так важно, за исключением того, что длина символов не всегда одинакова). Когда я пытаюсь отфильтровать в командной строке этот второй фильтр, он не только захватывает нужные мне файлы, но также захватывает исходные файлы, которые НЕ имеют отметку времени. . Например, следующие имена файлов:
Файл 1) AR_AgedInvoiceReportWrk.M4T
Файл 2) AR_AgedInvoiceReportWrkTB081615903027.M4T
Файл 2 — единственный, который следует удалить, но он удалит и файл 1, и файл 2. Я даже пытался использовать два или три ?s вместо второго *, просто чтобы увидеть, произойдет ли разница, но это не так. 'т.
Командная строка не распознает? как это делает Проводник? Что мне не хватает?