PowerShell把文件删除到回收站的方法

某同事辛苦了一个月加班快要完成的设计方案,因为自己一时不小心,直接从公司的共享文件服务器上删除了,无法追回。我也试着建了个共享文件夹,通过资源管理器删除后,也在回收站无法找到,这样也算理解那位女汉子的苦衷了。

我们平时使用PowerShell的Remove-Item命令删除了文件,也是属于彻底删除。其实说真的,如果可以,我很想对招远快餐店的6名凶手,执行remove命令,不,直接kill命令。

那怎样在PowerShell中将文件安全地删除进回收站?显然需要调用Windows的Com组件了:


代码如下:

$testFile="jb51.net"
dir | Out-File $testFile
$shell = new-object -comobject "Shell.Application"
$item = $shell.Namespace(0).ParseName( (Resolve-Path $testFile).Path)
$item.InvokeVerb("delete")

注意第4行,一定要用绝对路径,使用相对路径可能会报错。

(0)

相关推荐

  • PowerShell把文件删除到回收站的方法

    某同事辛苦了一个月加班快要完成的设计方案,因为自己一时不小心,直接从公司的共享文件服务器上删除了,无法追回.我也试着建了个共享文件夹,通过资源管理器删除后,也在回收站无法找到,这样也算理解那位女汉子的苦衷了. 我们平时使用PowerShell的Remove-Item命令删除了文件,也是属于彻底删除.其实说真的,如果可以,我很想对招远快餐店的6名凶手,执行remove命令,不,直接kill命令. 那怎样在PowerShell中将文件安全地删除进回收站?显然需要调用Windows的Com组件了: 复

  • dotnet如何将文件删除到回收站

    前言 默认删除文件的时候 File.Delete 是将文件永久删除,如果是一些文档,建议删除到回收站,这样用户可以自己还原 通过 SHFileOperation 可以将文件放在回收站 本文提供的方法暂时只能在 x86 程序使用,此方法暂时不适合 dotnet core 程序 添加一个帮助类 public static class RecycleBin { public static void DeleteToRecycleBin(string file) { var shf = new SHFI

  • PowerShell设置文件只读、隐藏属性的方法

    本文介绍一个PowerShell中如何设置文件属性.我们知道文件的属性有只读.隐藏.系统.存档和无内容索引等5个,只读和隐藏用得比较多,另外三个用得比较少. 一.文件的属性 不知道大家有没有用过attrib.exe这个cmd下的小程序,它可以用来设置文件的属性.建议大家先去了解一下这个attrib小程序.可以参考文章:使用attrib设置文件只读.隐藏和系统属性 下面我们来看看如何在PowerShell中设置文件只读.隐藏和系统属性. 我们知道,获取一个文件对象可以使用Get-Item这个cmd

  • PowerShell中文件对象的属性方法总结

    本文介绍一个PowerShell中文件对象有哪些属性,知道了这些属性对于我们更好的对文件进行操作是非常重要的. PowerShell是一个面向对象的脚本语言,在PowerShell中,所有的都是对象,文件也是对象.既然是对象,那肯定有属性.PowerShell中的文件对象,其实就是.NET中的System.IO.FileInfo类的实例.我们要查看完整的PowerShell文件对象的属性,其实不需要去翻MSDN,然后把System.IO.FileInfo类的属性找出来,那样太麻烦了,而且貌似在P

  • Linux 中清空或删除大文件内容的五种方法

    在 Linux 终端下处理文件时,有时我们想直接清空文件的内容但又不必使用任何Linux命令行编辑器 去打开这些文件.那怎样才能达到这个目的呢?在这篇文章中,我们将介绍几种借助一些实用的命令来清空文件内容的方法. 注意: 由于再Linux中一切皆文件,你需要时刻注意,确保你将要清空的文件不是重要的用户文件或者系统文件.清空重要的系统文件或者配置文件可能会引发严重的应用失败或者系统错误. 提示:在下面的示例中,我们将使用名为 access.log 的文件来作为示例样本. 1. 通过重定向到 Nul

  • PHP实现批量清空删除指定文件夹所有内容的方法

    本文实例讲述了PHP实现批量清空删除指定文件夹所有内容的方法.分享给大家供大家参考,具体如下: cleancache.php: <?php // 清文件缓存 $dirs = array( realpath(dirname(__FILE__) . '/../data/cache_data'), realpath(dirname(__FILE__) . '/../data/cache_file'), realpath(dirname(__FILE__) . '/../data/cache_view'

  • 详解在Linux中清空或删除大文件内容的5种方法

    有时,在处理Linux终端中的文件时,您可能希望清除文件的内容,而无需使用任何Linux命令行编辑器打开它.怎么能实现这一目标?在本文中,我们将借助一些有用的命令,通过几种不同的方式清空文件内容. 警告:在我们继续查看各种方法之前,请注意,因为在Linux中一切都是文件,所以必须始终确保要清空的文件不是重要的用户或系统文件.清除关键系统或配置文件的内容可能会导致致命的应用程序/系统错误或故障. 就像刚刚说的,下面是从命令行清除文件内容的方法. 重要说明:出于本文的目的,我们access.log在

  • Linux 删除和替换文件中某一行的方法【推荐】

    如果有一个abc.txt文件,内容是: aaa bbb BATBUSINESSTYPE, INSIDEID--) ONLINE; INSIDEID--) ONLINE ccc ddd eee fff 如果要删除ddd,那么脚本可以这样写: sed -i '/ddd/d' abc.txt 如果删除的是一个变量的值,假如变量是var,应该写成: sed -i '/'"$var"'/d' abc.txt 至于grep -v aaa abc.txt这个方法,是无法将修改的结果写入abc.txt

  • bat删除邪恶文件之畸形文件与畸形目录的方法

    1.开始/运行,输入sendto,回车.打开sendto文件夹. 对于win7以上版本可能找不到sendto文件夹 打开SendTo文件夹拒绝访问解决方法 "C:\Users\用户名\"路径下的SendTo只是一个快捷方式,真正的位置位于: %APPDATA%\Microsoft\Windows\SendTo 这个是可以打开的. 这样就可以了 2.到vhost-del-sendto.rar下载工具包,并解压到Sendto目录下.到此环境搭配完毕,关闭即可. 3.找到邪恶的文件,比如co

  • java io文件操作删除文件或文件夹的7种方法

    目录 本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇 如果您阅读完成,觉得此文对您有帮助,请给我点个赞,您的支持是我不竭的创作动力. 为了方便大家理解,我特意制作了本文对应的视频:总结删除文件或者文件夹的7种方法 一.删除文件或文件夹的四种基础方法 下面的四个方法都可以删除文件

随机推荐