То, как я предотвращаю, “Не Могло Найти” сообщение об ошибке от del *.txt?

Состояние состязания является своего рода ошибкой, которая происходит только с определенными временными условиями.

Пример: Предположите, что у Вас есть два потока, A и B.

В Потоке A:

if( object.a != 0 )
    object.avg = total / object.a

В Потоке B:

object.a = 0

, Если поток A вытесняется сразу после наличия проверки, что object.a не является пустым, B сделает a = 0, и когда поток A получит процессор, это сделает, "делятся на нуль".

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

27
задан 24 July 2009 в 12:29
поделиться

4 ответа

Если вы хотите подавить все сообщения об ошибках , вы можете сделать это:

del *.txt 2>NUL
34
ответ дан 28 November 2019 в 04:40
поделиться

окружите if exists ...

или используйте другую утилиту удаления {например, 'rm' из mks tools}

или посмотрите файл forfiles.exe - это должен делать то, что вам нужно.

3
ответ дан 28 November 2019 в 04:40
поделиться
if exist *.txt del *.txt
30
ответ дан 28 November 2019 в 04:40
поделиться

Создайте его.

echo "Moo" > temporary-del-workaround.txt

Количество удаленных файлов будет уменьшаться по одному.

изменить :

  • NUL ответ на перенаправление неверен, потому что там могут быть настоящими ошибками.
  • существует ответ неоптимален, потому что он выполняет свою работу дважды, и если вы заполнили свой каталог более чем 60 КБ файлов, простой список легко будет до тех пор, как удаление
-2
ответ дан 28 November 2019 в 04:40
поделиться
Другие вопросы по тегам:

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