Как работает корзина Vista? - PullRequest
5 голосов
/ 05 марта 2009

Я пытаюсь написать модуль python для перемещения файлов в «Корзину» как на Mac, так и на ПК.

Есть ли способ, только из командной строки (и да, я имею в виду использование абсолютно без C # / C ++ / etc), чтобы переместить файл в корзину, и он будет отображаться как файл, перетаскиваемый с помощью перетаскивания (или удалены через SHFileOperation и т. д.).

Ответы [ 4 ]

5 голосов
/ 05 марта 2009

Перемещение файлов в корзину Windows - это операция Shell. Операции оболочки выполняются через COM. Для более старых версий Windows есть интерфейс SHFileOperation . Начиная с Vista, появился новый интерфейс IFileOperation.

5 голосов
/ 05 марта 2009

Вы должны использовать функцию SHFileOperation или, в Vista, интерфейс IFileOperation (как указано в gix ниже).

Из замечаний по SHFileOperation:

При использовании для удаления файла SHFileOperation навсегда удаляет файл, если только вы не установите флаг FOF_ALLOWUNDO в элементе fFlags структуры SHFILEOPSTRUCT, на которую указывает lpFileOp. Установка этого флага отправляет файл в корзину. Если вы хотите просто удалить файл и гарантировать, что он не помещен в корзину, используйте DeleteFile.

3 голосов
/ 14 июня 2010

Я написал библиотеку Python, которая делает именно это . Вы можете проверить это.

0 голосов
/ 05 марта 2009

Похоже, эта запись в списке рассылки может помочь вам.

...