Как удалить файлы в командной строке события предварительной сборки Visual Studio

Я пытаюсь удалить файлы в моем $(TargetDir) в Visual Studio перед созданием проекта.

Как вам нужно отформатировать командную строку, чтобы обойти эту проблему, которую я получаю ниже? альтернативный текст


person dance2die    schedule 20.04.2009    source источник


Ответы (6)


Пытаться

cd $(TargetDir)
del *.tif

Как указал jvenema, ваш $(TargetDir) расширяется в путь, содержащий пробелы в именах папок, что нарушает команду удаления.

person Eoin Campbell    schedule 20.04.2009
comment
Я заметил, что даже если в имени каталога нет пробелов, разделение на «cd» и подстановочный знак делает разницу между рабочим и разорванным:/ - person Dean Radcliffe; 12.12.2012
comment
@Eoin Не могли бы вы сказать мне, где я могу найти документ об этой команде? Или не могли бы вы дать мне ключ поиска в Google? большое спасибо. - person Joe.wang; 10.07.2013
comment
Просто чтобы уточнить, TargetDir, вероятно, является вашим каталогом bin. - person Ben Power; 22.11.2018

В итоге я использовал rd /s /q "$(TargetDir)" для очистки каталога. Насколько я знаю, он работает.

person tuck    schedule 17.08.2011
comment
Это удаляет даже подкаталоги, а также с помощью параметра / q он удаляет тихо. Это означает, что команда удаления каталога (rd) никогда не спрашивает об удалении (RU Конечно?). После любой сборки, если есть существующий файл, таким образом стало лучше, спасибо - person Davut Gürbüz; 28.06.2012
comment
Это незаметно удаляет целевой каталог сборки $(TargetDir) и его содержимое. Visual Studio повторно создает каталог сборки, когда это необходимо. - person George; 17.03.2013
comment
Я также нашел этот подход полезным, так как «del» завершится ошибкой с той же ошибкой, когда каталог, из которого вы хотите удалить файлы, не существует, что является проблемой, когда вы хотите удалить все файлы из более глубокого каталога. в структуре вывода сборки. - person OcularProgrammer; 19.05.2015

Попробуйте добавить кавычки вокруг каталога.

person jvenema    schedule 20.04.2009
comment
Спасибо jvenema: Кажется, цитата действительно делает то, что я думал, но, к сожалению, я не удалял все изображения с помощью широкой карты. Однако версия Эоин сработала. - person dance2die; 20.04.2009

Вы должны написать del "$(TargetDir)*.tif" из-за пробелов в пути к каталогу.

person Václav Dajbych    schedule 17.10.2011

Старый вопрос, но пара вещей:

del "$(TargetDir)*.tif" /q

1) /q означает тишину. В противном случае del cmd запрашивает "... Вы уверены (да/нет)?" что сборка не нравится.

2) Как многие указывали, "" вокруг targetDir для возможного места в целевом каталоге.

person Sudip Shrestha    schedule 08.03.2018

процесс wmic, где name='chromedriver.exe' delete

person Meg-90    schedule 20.04.2017