Який спосіб командного рядка надсилає файли до кошика?


41

Чи існує програма командного рядка, яка може надсилати файли до кошика? Це на XP та Vista.


2
Окрім 'del'?
pelms

2
Яку ОС ви використовуєте?
ChrisF

вийшли, щоб додати XP та Vista
justintime

11
@pelms delназавжди видаляє його, а не переміщує його до кошика.
MiffTheFox

2
Тоді ви повинні подумати, що немає жодних причин мати Скриньку. За вашою логікою, чому переробляти файли з Провідника, а не просто видаляти їх назавжди? Можливо, ви не бачили використання, але вони існують. Зовсім недавно я хотів видалити купу файлів із численних папок, але хотів двічі перевірити їх, перш ніж витерти їх. Єдиний / найпростіший спосіб зробити це - запустити forцикл з командного рядка, щоб надіслати їх у корзину, тоді я міг бачити їх усі консолідовані в одному місці, щоб переконатися, що там є лише ті файли, які я хотів видалити. відновити неправильні файли.
Synetech

Відповіді:


31

CmdUtils має утиліту, яка називається Recycleсаме це. [ пряме завантаження ]

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

Щоб скористатися командою recycle, завантажте поштовий файл CmdUtils і розпакуйте exe у папку Windows. Додавання їх до папки Windows дозволить вам отримати доступ до команди в усьому світі, без необхідності вказувати весь шлях до виконуваного файлу. Потім ви можете почати використовувати команду recycle, ввівши;

recycle filename.txt

Ви також можете вказати підстановки з командами, щоб ввести recycle * .txt переробить будь-які текстові файли в поточному каталозі. Також є можливість придушити діалогове вікно підтвердження видалення, використовуючи прапор сили із командою.

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

recycle –f filename.txt

Прапор –f повідомляє команду примусити переробляти, не показуючи діалогове вікно підтвердження.


19

Якщо у вас встановлена ​​панель повноважень:

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

2
+1 Будь-яке рішення щодо повноважень отримає мій голос. Я сподіваюся, що наступна Windows замінить cmd.exe на PowerShell.
BinaryMisfit

2
Я сумніваюся, що це станеться дуже довго. :)
EBGreen

1
Це занадто повільно, особливо якщо переробляється багато файлів (наприклад, PS-аналог for /r %i in (foobar.tmp) do recycle "%i").
Synetech

1
@BinaryMisfit нарешті, що трапляється з Windows 10
phuclv

5

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

  • Maddog Software, кошики швидко і не має виходу, але може кинути загадково-знайдена помилка
  • ВидалитиXP EasyTools повільно, оскільки він показує прогрес на консолі, але якщо ви перенаправляєте на неї nul, то це найшвидший і надійний
  • CMD-переробка Кріса Юена є найповільнішою, навіть коли перенаправляє (погано відформатований) вихід наnul

4

У мене це питання було давно - я, нарешті, взяв питання в свої руки і переклав власну програму cmd-recikli

Я подивився на Recycle.exeCmdUtils. Справа в тому, що він вискакує традиційне діалогове вікно "Ви впевнені" під час переробки (який можна видалити, додавши аргумент -f). Моя програма просто робить це (оскільки ви завжди можете скасувати), що, на мою думку, більше підходить для сценаріїв.


Я щойно запустив його на Windows Server 2008R2, і він не працює.
dthree

Не працює і в Windows 7. Я просто отримую помилку "Програму не вдалося запустити ...", і якщо я натискаю для отримання додаткової інформації, мене переносять на microsoft.com: ". Помилки ініціалізації NET Framework: Керування досвідом користувача" .
ashleedawg


1

Я спробував різні програми для переміщення файлів (-ів) у кошик, але з різних причин не був задоволений ними.

Основна проблема, яка найбільше виникає, - це відсутність гідного статусу чи повідомлень про помилки. Деякі просто відмовляються мовчки, тож ви думаєте, що програма щось переробила, але насправді взагалі нічого не зробила!

Щоб виправити це, я написав утиліту командного рядка під назвою bin - вона переміщує вказані файли (файли) до кошика Windows. Він підтримує підстановку та надає повний статус та повідомлення про помилки. Якщо щось піде не так, ви дізнаєтесь про це!

Це абсолютно безкоштовно і його можна завантажити звідси як binit.zip:
http://www.akiwi.co.uk/utilities.html


Я рекомендую вам змінити ім’я. "Bin It" змушує мене думати про щось на зразок ASCII-> бінарного перетворення.
can-ned_food

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/


Ласкаво просимо до Супер Користувача. Здається, ваша відповідь пояснює, як побудувати шлях до поточно зареєстрованого кошика користувача, але, здається, не пояснюється, як використовувати цю інформацію для відправки файлів у кошик, як цього вимагає ОП. Відредагуйте свою публікацію, щоб включити цю останню частину. Дякуємо за ваш внесок.
Я кажу, відновіть Моніку

Це майже вся інформація, яку вам потрібно буде написати власною, окрім фактичного представлення вам однієї, за винятком згадування даних INFO2 та $ I, якими вам потрібно буде маніпулювати.
can-ned_food

Повідомте мене, коли відповідь включає скрипт cmd.exe або wsh.exe, який це робить, і тоді я підкажу! :-) Ну, я думаю, що технічно не стосується питання, але питання досить розпливчасте.
can-ned_food

1

Без зовнішніх програм - deleteJS.bat. Він використовує Shell.Applicationметод дієслова invoke. використання просте:

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

0

Ви можете спробувати RecycleIt . Він надсилатиме файли до кошика Windows за допомогою командного рядка.

ПРИКЛАД ВИКОРИСТАННЯ:

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

ПРИМІТКА. Вам потрібно додати "/ quit", інакше воно з'явиться вікном, яке залишається відкритим. Це може бути проблематично для сеансів безголівкових консолей.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.