将文件发送到回收站的命令行方式是什么?

jus*_*ime 53 windows recycle-bin command-line

有没有可以将文件发送到回收站的命令行程序?这是在 XP 和 Vista 上。

Mar*_*ark 34

CmdUtils有一个名为的实用程序Recycle,可以做到这一点。[直接下载]

更多信息

要使用回收命令下载 CmdUtils zip 文件并将 exe 解压缩到您的 Windows 文件夹。将它们添加到 Windows 文件夹将允许您全局访问命令,而无需指定可执行文件的整个路径。然后,您可以通过输入开始使用回收命令;

recycle filename.txt
Run Code Online (Sandbox Code Playgroud)

您还可以在命令中指定通配符,因此输入 recycle *.txt 将回收当前目录中的所有文本文件。还有一个选项可以通过在命令中使用 force 标志来抑制删除确认对话框。

要删除文件而无需确认是使用命令

recycle –f filename.txt
Run Code Online (Sandbox Code Playgroud)

-f 标志将告诉命令强制回收而不显示确认对话框。


EBG*_*een 23

如果您安装了 powershell:

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

  • 我怀疑这会在很长一段时间内发生。:) (3认同)
  • +1 任何 powershell 解决方案都会得到我的投票。我希望下一个 Windows 用 PowerShell 替换 cmd.exe。 (2认同)

Syn*_*ech 7

没有内置的方法可以做到这一点,但有第三方工具可以做到。我检查了我的程序转储文件夹并找到了一些选项。它们的工作方式都相同(例如,recycle filename.ext),但它们的性能各不相同,因此这取决于您的需求(例如,您是否回收了大量文件?)

  • MaDdoG Software 的Recycle速度很快且没有输出,但会抛出一个神秘的未发现错误
  • EasyTools' DeleteXP是缓慢的,因为它会显示进度,到控制台,但如果你把它重定向到nul,那么它是最快的,可靠的
  • Chris Yuen 的cmd-recycle最慢,即使将(格式不佳的)输出重定向到nul


小智 6

可以使用外部实用程序:

nircmd moverecyclebin *.tmp


Tro*_*oyK 5

如果不使用第三方工具,我不相信存在“将文件发送到回收站的命令行方式”。您可以在 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%
Run Code Online (Sandbox Code Playgroud)

问题是,如果您只是将文件移到其中,它不会出现在回收站中。您只能在命令提示符中看到它。回收站是一个特殊的文件夹。将项目移动到回收站的 Windows API 方法会重命名该文件,并将有关该文件的信息存储在一个或多个专有信息文件中,具体取决于操作系统的版本。上面答案中建议的第三方工具会调用这些 API 方法来为您处理所有这些问题。

这里有更多信息:https://dereknewton.com/2010/06/recycle-bin-forensics-in-windows-7-and-vista/


小智 5

只是改进了 EBGreen 代码,这里有一个方便的 1 行代码,可以轻松地放入任何批处理文件中以完成工作。(假设完全限定的文件路径在 %1 批处理文件参数中)

echo (new-object -comobject Shell.Application).Namespace(0).ParseName("%~1").InvokeVerb("delete") | powershell -command - 
Run Code Online (Sandbox Code Playgroud)

注意尾随 - 它使 powershell 命令接受来自 stdin 的命令文本