Есть ли программа командной строки, которая может отправлять файлы в корзину? Это на XP и Vista.
9 ответов
CmdUtils имеет утилиту под названием Recycle
которая делает именно это. [ прямая загрузка ]
Чтобы использовать команду recycle, загрузите zip-файл CmdUtils и разархивируйте exe-файл в папку Windows. Добавление их в папку Windows позволит вам получить глобальный доступ к команде без необходимости указывать полный путь к исполняемому файлу. Затем вы можете начать использовать команду recycle, набрав;
recycle filename.txt
Вы также можете указать подстановочные знаки с помощью команд, поэтому при вводе recycle * .txt будут перезаписаны любые текстовые файлы в текущем каталоге. Существует также опция для подавления диалогового окна подтверждения удаления, используя флаг Force с командой.
Чтобы удалить файл без подтверждения, используйте команду
recycle –f filename.txt
Флаг –f сообщит команде о необходимости перезагрузки без отображения диалогового окна подтверждения.
Если у вас установлен PowerShell:
$sh = new-object -comobject "Shell.Application"
$ns = $sh.Namespace(0).ParseName("PATH\TO\FILE\TO\DELETE")
$ns.InvokeVerb("delete")
У меня был этот вопрос в течение долгого времени - я наконец взял все в свои руки и развернул свою собственную утилиту cmd-recycle
Я взглянул на Recycle.exe
в CmdUtils. Дело в том, что при перезапуске он открывает традиционный диалог "Вы уверены" (который можно удалить, добавив аргумент -f). Моя программа просто делает это (поскольку вы всегда можете отменить), что, я думаю, больше подходит для сценариев.
Нет встроенного способа сделать это, но есть сторонние инструменты, которые могут это сделать. Я проверил папку с дампом программы и нашел несколько вариантов. Все они работают одинаково (например, recycle filename.ext
), но они различаются по производительности, поэтому это зависит от ваших потребностей (например, вы перерабатываете много файлов?)
- Maddog Software, корзины быстро и не имеет выхода, но может бросить загадочную не-найдена ошибка
- DeleteXP EasyTools работает медленно, потому что отображает ход выполнения на консоль, но если вы перенаправите его на
nul
, он будет самым быстрым и надежным - Cmd-recycle Криса Юэна медленнее, даже если перенаправить (плохо отформатированный) вывод в
nul
Можно использовать внешнюю утилиту:
nircmd moverecyclebin * .tmp
Без внешних программ - deleteJS.bat
.
Он использует Shell.Application
вызывает метод глагола.
использование простое:
call deleteJS.bat c:\someFile.txt
call deleteJS.bat d:\someFolder
Я пробовал различные программы для перемещения файла (ов) в корзину, но был неудовлетворен ими по разным причинам.
Основная проблема, с которой сталкиваются большинство, - это отсутствие приличного статуса или сообщений об ошибках. Некоторые просто молча терпят неудачу, так что вы думаете, что программа что-то переработала, но на самом деле ничего не сделала!
Чтобы исправить это, я написал утилиту командной строки bin-it, которая перемещает указанные файлы в корзину Windows. Он поддерживает подстановочные знаки и предоставляет полный статус и отчеты об ошибках. Если что-то пойдет не так, вы узнаете об этом!
Это абсолютно бесплатно и может быть загружено отсюда как binit.zip:
http://www.akiwi.co.uk/utilities.html
Без использования сторонних инструментов я не верю, что существует "способ командной строки для отправки файлов в корзину". Вы можете получить полный путь к корзине в системе 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/
Вы можете попробовать RecycleIt. Он будет отправлять файлы в корзину Windows через командную строку.
ПРИМЕР ИСПОЛЬЗОВАНИЯ:
recycleIt.exe C:\temp\example.txt /quit
ПРИМЕЧАНИЕ. Вам нужно добавить «/quit», иначе появится всплывающее окно. Это может быть проблематично для безголовых консольных сессий.