37

Есть ли программа командной строки, которая может отправлять файлы в корзину? Это на XP и Vista.

9 ответов9

29

CmdUtils имеет утилиту под названием Recycle которая делает именно это. [ прямая загрузка ]

Больше информации:

Чтобы использовать команду recycle, загрузите zip-файл CmdUtils и разархивируйте exe-файл в папку Windows. Добавление их в папку Windows позволит вам получить глобальный доступ к команде без необходимости указывать полный путь к исполняемому файлу. Затем вы можете начать использовать команду recycle, набрав;

recycle filename.txt

Вы также можете указать подстановочные знаки с помощью команд, поэтому при вводе recycle * .txt будут перезаписаны любые текстовые файлы в текущем каталоге. Существует также опция для подавления диалогового окна подтверждения удаления, используя флаг Force с командой.

Чтобы удалить файл без подтверждения, используйте команду

recycle –f filename.txt

Флаг –f сообщит команде о необходимости перезагрузки без отображения диалогового окна подтверждения.

18

Если у вас установлен PowerShell:

$sh = new-object -comobject "Shell.Application"
$ns = $sh.Namespace(0).ParseName("PATH\TO\FILE\TO\DELETE")
$ns.InvokeVerb("delete")
5

У меня был этот вопрос в течение долгого времени - я наконец взял все в свои руки и развернул свою собственную утилиту cmd-recycle

Я взглянул на Recycle.exe в CmdUtils. Дело в том, что при перезапуске он открывает традиционный диалог "Вы уверены" (который можно удалить, добавив аргумент -f). Моя программа просто делает это (поскольку вы всегда можете отменить), что, я думаю, больше подходит для сценариев.

4

Нет встроенного способа сделать это, но есть сторонние инструменты, которые могут это сделать. Я проверил папку с дампом программы и нашел несколько вариантов. Все они работают одинаково (например, recycle filename.ext), но они различаются по производительности, поэтому это зависит от ваших потребностей (например, вы перерабатываете много файлов?)

  • Maddog Software, корзины быстро и не имеет выхода, но может бросить загадочную не-найдена ошибка
  • DeleteXP EasyTools работает медленно, потому что отображает ход выполнения на консоль, но если вы перенаправите его на nul , он будет самым быстрым и надежным
  • Cmd-recycle Криса Юэна медленнее, даже если перенаправить (плохо отформатированный) вывод в nul
3

Можно использовать внешнюю утилиту:

nircmd moverecyclebin * .tmp

1

Без внешних программ - deleteJS.bat. Он использует Shell.Application вызывает метод глагола. использование простое:

call deleteJS.bat c:\someFile.txt
call deleteJS.bat d:\someFolder
1

Я пробовал различные программы для перемещения файла (ов) в корзину, но был неудовлетворен ими по разным причинам.

Основная проблема, с которой сталкиваются большинство, - это отсутствие приличного статуса или сообщений об ошибках. Некоторые просто молча терпят неудачу, так что вы думаете, что программа что-то переработала, но на самом деле ничего не сделала!

Чтобы исправить это, я написал утилиту командной строки bin-it, которая перемещает указанные файлы в корзину Windows. Он поддерживает подстановочные знаки и предоставляет полный статус и отчеты об ошибках. Если что-то пойдет не так, вы узнаете об этом!

Это абсолютно бесплатно и может быть загружено отсюда как binit.zip:
http://www.akiwi.co.uk/utilities.html

1

Без использования сторонних инструментов я не верю, что существует "способ командной строки для отправки файлов в корзину". Вы можете получить полный путь к корзине в системе Windows 7-10 следующим образом:

::get current user sid
for /f "tokens=2" %%i in ('whoami /user /NH') do set UID=%%i
:: create full path to current user recycle bin in a variable
set recyclebin=%systemdrive%\$Recycle.Bin\%UID%

echo %recyclebin%

Проблема в том, что если вы просто переместите туда файл, он не появится в корзине. Вы сможете увидеть его только в командной строке. Корзина - это специальная папка. Метод Windows API для перемещения элементов в корзину переименовывает файл и сохраняет информацию о нем в собственном информационном файле или файлах в зависимости от версии ОС. Сторонние инструменты, предложенные в ответах выше, вызывают эти методы API, которые обрабатывают все это для вас.

Еще немного информации здесь: https://dereknewton.com/2010/06/recycle-bin-forensics-in-windows-7-and-vista/

0

Вы можете попробовать RecycleIt. Он будет отправлять файлы в корзину Windows через командную строку.

ПРИМЕР ИСПОЛЬЗОВАНИЯ:

recycleIt.exe C:\temp\example.txt /quit

ПРИМЕЧАНИЕ. Вам нужно добавить «/quit», иначе появится всплывающее окно. Это может быть проблематично для безголовых консольных сессий.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .