CMD命令删除文件并将它们放入回收站?

时间:2009-10-29 20:42:18

标签: batch-file cmd console

是否有任何控制台命令“del”从文件夹中删除文件并将它们放入回收站? del命令将删除文件,而不是在回收站中。

10 个答案:

答案 0 :(得分:7)

名为cmdutils的集合中有一个“ recycle.exe ”命令部分

“Recycle.exe是DEL命令的安全替代品,它将文件发送到回收站而不是删除它们。回收也比DEL更灵活;您可以一次指定多个文件(或使用通配符)”< / p>

http://www.maddogsw.com/cmdutils时可用 (工具最后更新于2000年5月)

DeleteXP.exe ”用于从Windows(Windows 9x和Windows NT 4.0 / 2000 / XP)中的命令提示符中删除文件。与仅删除文件的标准“DEL”命令不同,Delete XP删除文件并将其发送到回收站。要删除的文件作为参数传递给它。它现在支持/ p并添加两个新选项/ a / d / v。

就像Windows NT / 2000 / XP中的“del”命令一样,即使在Windows 9x中,Delete XP也支持多个文件名作为参数。

http://downloads.easytools.com/Freebies/DeleteXP.zip时可用 (工具最后更新于2004年9月)

有“ recycle.exe ”(与maddogsw的开发人员不同):

C:\>recycle /?
Version 1.11, Copyright (C)2001 Frank P. Westlake
Deletes one or more files by sending them to the Recycle Bin, if possible.

RECYCLE [/PFQ] [/A[[:]attributes]] [[drive:][path]filename

[drive:][path]filename
Specifies the file(s) to delete. Specify multiple files by using wildcards.
/P Prompts for confirmation before deleting each file.
/F Force deleting of read-only files.
/Q Quiet mode, do not ask if ok to delete on global wildcard
/A Selects files to delete based on attributes
    attributes R Read-only files 
    S System files
    H Hidden files 
    A Files ready for archiving
    - Prefix meaning not

http://web.archive.org/web/20071026113307/http://gearbox.maem.umr.edu/batch/f_w_util/时可用 http://gearbox.maem.umr.edu/batch/f_w_util/
http://gearbox.maem.umr.edu/batch/f_w_util/recycle.zip
(工具最后更新于2001年1月)

BTW如果你想从命令行清空recylce bin“cmdutils”有“bin”命令:

bin /empty /force

答案 1 :(得分:6)

没有外部程序 - deleteJS.bat。 它使用Shell.Application调用动词方法。 用法很简单:

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

答案 2 :(得分:4)

来自http://www.maddogsw.com/cmdutils/

recycle.exe -f apple.jpg 仍然有效。

2014年3月,Windows7 x64,限制UAC帐号权限btw。 还测试了一些Umlaut文件名。 文件确实显示在回收中并具有正确的还原路径。

答案 3 :(得分:3)

如果您安装了节点,则可以添加&#34; trash&#34;模块。适用于OS X,Linux和Windows。

$ npm install -g trash

当您想要将文件发送到回收站时,您只需输入:

$ trash file.txt

答案 4 :(得分:2)

答案 5 :(得分:2)

发布copydel的bat脚本将是一个简单的解决方案......

答案 6 :(得分:1)

所有答案都建议使用第三方工具,但您可以使用简单的move来确定正确的回收站路径。

在XP中,它是C:\RECYCLER,在Vista中,后来是C:\$Recycle.bin。然而,这不是一切,它只是一个主文件夹,但它包含子文件夹,这些是您需要移动文件的实际文件夹。

例如,在我的机器中,路径为:

c:\$Recycle.Bin\S-1-5-21-1291211594-1566655150-3201569215-1000

答案 7 :(得分:1)

好的,这是一个非常古老的线程,但是此解决方案具有其他答案中未涉及的一些属性:

  • 它使用 PowerShell 和两个 Microsoft.VisualBasic COM 对象的静态方法,允许在没有确认的情况下删除文件夹和文件(因此它可以在没有第 3 方实用程序的情况下使用,并在无人值守的情况下运行)
  • 它允许传递通配符,因此删除多个文件时不会那么慢

将此单行粘贴到名为 recycle.bat 的文件中(以便您可以轻松地从命令行调用它):

@powershell.exe -nologo -noprofile -Command "& {Add-Type -AssemblyName 'Microsoft.VisualBasic'; Get-ChildItem -Path '%~1' | ForEach-Object { if ($_ -is [System.IO.DirectoryInfo]) { [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteDirectory($_.FullName,'OnlyErrorDialogs','SendToRecycleBin') } else { [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile($_.FullName,'OnlyErrorDialogs','SendToRecycleBin') } } }"

答案 8 :(得分:0)

这取决于文件的位置(并且只适用于文件)。它首先打开文件夹,然后模拟从键盘输入 - 选择文件,然后执行&#34;删除&#34;命令,使用del键。为避免错误,脚本设置为在下一个命令之前暂停几秒钟。

set shell = CreateObject("Shell.Application")
shell.Open "C:\Users\server\Desktop"
set wshShell = CreateObject("WScript.Shell")
wscript.Sleep 200
wshShell.SendKeys "testfile"
wshShell.SendKeys "{DEL}"
wscript.Sleep 100
wshShell.SendKeys "%{F4}"

我在记事本中编写了这段代码,然后用文件扩展名(.vbs)保存它。然后使用

将其添加到我的批处理文件中
wscript "%~dp0filename.vbs"

请注意,两个文件(.bat和.vbs)需要放在同一个文件夹位置,否则指定.bat文件中的(.vbs)位置(如果放在另一个目录中)。

答案 9 :(得分:0)

您可以尝试RecycleIt。它将通过命令行将文件发送到Windows回收站。

- 麦克