jus*_*ime 53 windows recycle-bin command-line
有没有可以将文件发送到回收站的命令行程序?这是在 XP 和 Vista 上。
Mar*_*ark 34
CmdUtils有一个名为的实用程序Recycle,可以做到这一点。[直接下载]
更多信息:
要使用回收命令下载 CmdUtils zip 文件并将 exe 解压缩到您的 Windows 文件夹。将它们添加到 Windows 文件夹将允许您全局访问命令,而无需指定可执行文件的整个路径。然后,您可以通过输入开始使用回收命令;
Run Code Online (Sandbox Code Playgroud)recycle filename.txt您还可以在命令中指定通配符,因此输入 recycle *.txt 将回收当前目录中的所有文本文件。还有一个选项可以通过在命令中使用 force 标志来抑制删除确认对话框。
要删除文件而无需确认是使用命令
Run Code Online (Sandbox Code Playgroud)recycle –f filename.txt-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)
没有内置的方法可以做到这一点,但有第三方工具可以做到。我检查了我的程序转储文件夹并找到了一些选项。它们的工作方式都相同(例如,recycle filename.ext),但它们的性能各不相同,因此这取决于您的需求(例如,您是否回收了大量文件?)
nul,那么它是最快的,可靠的nul如果不使用第三方工具,我不相信存在“将文件发送到回收站的命令行方式”。您可以在 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 的命令文本
| 归档时间: |
|
| 查看次数: |
31826 次 |
| 最近记录: |