บรรทัดคำสั่งในการส่งไฟล์ไปยังถังรีไซเคิลคืออะไร?


41

มีโปรแกรมบรรทัดคำสั่งที่สามารถส่งไฟล์ไปยังถังรีไซเคิลหรือไม่? นี่คือบน XP และ Vista


2
นอกเหนือจาก 'del'
pelms

2
คุณใช้ระบบปฏิบัติการใดอยู่
ChrisF

ออกจากการเพิ่ม XP และ Vista
justintime

11
@pelms delลบอย่างถาวรไม่ย้ายไปยังถังรีไซเคิล
MiffTheFox

2
จากนั้นคุณต้องคิดว่าไม่มีเหตุผลที่จะต้องมี Bin เลย ตามตรรกะของคุณทำไมรีไซเคิลไฟล์จาก Explorer แทนที่จะลบอย่างถาวร? คุณอาจไม่เห็นการใช้งาน แต่มีอยู่จริง เมื่อเร็ว ๆ นี้ฉันต้องการลบไฟล์จำนวนมากออกจากหลาย ๆ โฟลเดอร์ แต่ต้องการตรวจสอบอีกครั้งก่อนที่จะลบออก วิธีเดียว / ที่ง่ายที่สุดในการทำมันคือการforวนลูปจาก command-prompt เพื่อส่งมันไปยังถังขยะจากนั้นฉันจะเห็นพวกมันทั้งหมดรวมอยู่ในที่เดียวเพื่อให้แน่ใจว่ามีไฟล์ที่ฉันต้องการลบอยู่ในนั้น กู้คืนไฟล์ที่ไม่ถูกต้อง
Synetech

คำตอบ:


31

CmdUtilsมียูทิลิตี้ที่เรียกRecycleว่าทำอย่างนั้น [ ดาวน์โหลดโดยตรง ]

ข้อมูลเพิ่มเติม :

ในการใช้คำสั่งรีไซเคิลให้ดาวน์โหลดไฟล์ zip CmdUtils และคลายซิป exe ไปยังโฟลเดอร์ Windows ของคุณ การเพิ่มไปยังโฟลเดอร์ Windows จะช่วยให้คุณสามารถเข้าถึงคำสั่งได้ทั่วโลกโดยที่คุณไม่ต้องระบุพา ธ ทั้งหมดไปยังไฟล์ที่เรียกใช้งานได้ จากนั้นคุณสามารถเริ่มใช้คำสั่งรีไซเคิลโดยพิมพ์

recycle filename.txt

นอกจากนี้คุณยังสามารถระบุไวด์การ์ดด้วยคำสั่งเพื่อพิมพ์ในรีไซเคิล * .txt จะรีไซเคิลไฟล์ข้อความใด ๆ ในไดเรกทอรีปัจจุบัน นอกจากนี้ยังมีตัวเลือกในการระงับกล่องโต้ตอบการยืนยันการลบโดยใช้การบังคับธงกับคำสั่ง

ในการลบไฟล์โดยไม่ต้องยืนยันให้ใช้คำสั่ง

recycle –f filename.txt

แฟล็ก –f จะบอกให้คำสั่งบังคับให้รีไซเคิลโดยไม่แสดงกล่องโต้ตอบการยืนยันให้คุณ


19

หากคุณติดตั้ง PowerShell:

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

2
+1 โซลูชัน PowerShell ใด ๆ จะได้รับคะแนนของฉัน ฉันหวังว่า Windows ถัดไปจะแทนที่ cmd.exe ด้วย PowerShell
BinaryMisfit

2
ฉันสงสัยว่าจะเกิดขึ้นเป็นเวลานาน :)
EBGreen

1
นี่คือช้าเกินไปโดยเฉพาะอย่างยิ่งถ้าการรีไซเคิลไฟล์จำนวนมาก (เช่นคู่ PS ไปfor /r %i in (foobar.tmp) do recycle "%i")
Synetech

1
@BinaryMisfit ในที่สุดที่เกิดขึ้นกับ Windows 10
phuclv

4

ฉันมีคำถามนี้มานานแล้ว - ในที่สุดฉันก็หยิบเรื่องนี้ขึ้นมาในมือของฉันเองและฉันก็ม้วนโปรแกรมอรรถประโยชน์cmd-recycle

ฉันดูที่Recycle.exeCmdUtils สิ่งที่เกี่ยวกับมันคือมันปรากฏออกมาโต้ตอบ "คุณแน่ใจ" "แบบดั้งเดิมเมื่อคุณรีไซเคิล (ซึ่งสามารถลบออกได้โดยการเพิ่มอาร์กิวเมนต์ -f) โปรแกรมของฉันใช้งานได้ (เนื่องจากคุณสามารถยกเลิกได้ตลอดเวลา) ซึ่งฉันคิดว่าเหมาะสมกว่าสำหรับวัตถุประสงค์ในการเขียนสคริปต์


ฉันเพิ่งรันบน Windows Server 2008R2 และใช้งานไม่ได้
dthree

ไม่ทำงานบน Windows 7 เช่นกัน ฉันเพิ่งได้รับข้อผิดพลาด "โปรแกรมไม่สามารถเริ่ม ..." และถ้าฉันคลิกเพื่อดูข้อมูลเพิ่มเติมฉันนำตัวไปmicrosoft.com: ข้อผิดพลาด "การเริ่มต้นสุทธิกรอบ:. ผู้จัดการประสบการณ์ของผู้ใช้"
ashleedawg

4

ไม่มีวิธีในการทำเช่นนี้ แต่มีเครื่องมือของบุคคลที่สามที่สามารถทำได้ ฉันตรวจสอบโฟลเดอร์ program-dump ของฉันและพบตัวเลือกน้อย มันทำงานเหมือนกัน (เช่นrecycle filename.ext) แต่มันมีประสิทธิภาพแตกต่างกันไปดังนั้นมันขึ้นอยู่กับความต้องการของคุณ (เช่นคุณรีไซเคิลไฟล์จำนวนมากหรือไม่)

  • การรีไซเคิลซอฟต์แวร์ของ MaDdoG นั้นรวดเร็วและไม่มีผลลัพธ์ แต่สามารถโยนข้อผิดพลาดที่ไม่พบได้อย่างลึกลับ
  • EasyTools ' DeleteXPช้าเนื่องจากแสดงความคืบหน้าไปยังคอนโซล แต่ถ้าคุณเปลี่ยนเส้นทางไปแสดงnulว่ามันเร็วที่สุดและเชื่อถือได้
  • cmd-recycleของ Chris Yuen ช้าที่สุดแม้ในขณะที่เปลี่ยนเส้นทางเอาท์พุทnul


1

ฉันลองโปรแกรมต่าง ๆ สำหรับการย้ายไฟล์ไปยังถังรีไซเคิล แต่ไม่พอใจกับมันด้วยเหตุผลหลายประการ

ปัญหาหลักที่มีมากที่สุดคือการขาดสถานะที่เหมาะสมหรือข้อความแสดงข้อผิดพลาด บางคนล้มเหลวอย่างเงียบ ๆ ดังนั้นคุณคิดว่าโปรแกรมรีไซเคิลบางสิ่ง แต่ที่จริงแล้วมันไม่ได้ทำอะไรเลย!

เพื่อแก้ไขปัญหานี้ฉันได้เขียนยูทิลิตีบรรทัดคำสั่งชื่อ bin-it ซึ่งจะย้ายไฟล์ที่ระบุไปยังถังรีไซเคิล 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/


ยินดีต้อนรับสู่ Super User คำตอบของคุณดูเหมือนจะอธิบายวิธีสร้างเส้นทางไปยังถังรีไซเคิลของผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน แต่ดูเหมือนจะไม่อธิบายวิธีการใช้ข้อมูลนี้เพื่อส่งไฟล์ไปยังถังรีไซเคิลตามที่ OP ร้องขอ โปรดแก้ไขโพสต์ของคุณเพื่อรวมส่วนสุดท้ายนี้ ขอบคุณสำหรับการมีส่วนร่วม
ฉันพูดว่า Reinstate Monica

ข้อมูลนี้มีข้อมูลเกือบทั้งหมดที่คุณต้องใช้ในการเขียนด้วยตัวคุณเองโดยไม่แสดงข้อมูลใด ๆ เลยยกเว้นการกล่าวถึงข้อมูล INFO2 และ $ I ที่คุณต้องจัดการ
can-ned_food

แจ้งให้เราทราบเมื่อคำตอบรวมถึงสคริปต์ cmd.exe หรือ wsh.exe ซึ่งทำเช่นนั้นแล้วฉันจะ upvote! :-) ดีฉันเดาว่า wsh ไม่ได้ใช้กับคำถามทางเทคนิค แต่คำถามค่อนข้างคลุมเครือ
can-ned_food

1

โดยไม่ต้องโปรแกรมภายนอก deleteJS.bat- มันใช้Shell.Applicationวิธีการอุทธรณ์กริยา การใช้งานง่าย:

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

0

คุณสามารถลองRecycleIt มันจะส่งไฟล์ไปยัง Windows Recycle Bin ผ่านทางบรรทัดคำสั่ง

ตัวอย่างการใช้:

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

หมายเหตุ: คุณต้องเพิ่ม "/ ออก" ไม่เช่นนั้นจะปรากฏหน้าต่างที่เปิดอยู่ นี่อาจเป็นปัญหาสำหรับเซสชันคอนโซลที่ไม่มีส่วนหัว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.