Исключить Dir из пути - PullRequest
       39

Исключить Dir из пути

0 голосов
/ 08 февраля 2011

Я хочу получить все каталоги с моего диска, кроме «System Volume Information». Проблема в том, что я посылаю аргументы в другое консольное приложение для сжатия.и я должен был бы отправить только один путь.как это сделать?

Например, командная строка qpress.exe

qpress.exe -dvf ArchiveName.qp "SourceDir"
qpress.exe -dvf D:\Archive.qp G:\

Я хочу исключить папку «Информация о томе системы» из архива

1 Ответ

0 голосов
/ 08 февраля 2011

Если вы хотите сделать это правильно и вам нужно отправить в консольное приложение все имена каталогов на вашем диске, скажем, на первом / корневом уровне, вы должны не только жестко кодировать или исключить папку «System Volume Information» "потому что вы не можете быть уверенным, что нет других папок, для которых у вас нет прав на чтение / открытие ...

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

В целом это хороший подход - всегда проверять, можете ли вы что-то делать, например, перед удалением файла, проверять, действительно ли вы можете его удалить. Или, если хотите, вы можете потом перехватить исключение, но, возможно, ваше внешнее консольное приложение будет аварийно завершено, поэтому лучше проверьте права перед вызовом его с определенным именем папки.

...