vbs删除文件到回收站,及清空回收站
批处理删除文件进回收站
1楼
鼠标删除进回收站,设置没问题,怎样才能用DEL删除东西进回收站,麻烦知道的说一下,谢谢
---------------------------------------------------------------------------------------
2楼
del命令没有这样的功能
---------------------------------------------------------------------------------------
3楼
用move 移动到 盘符:\$Recycle.Bin\S-1-5-21-..........-500文件夹内,文件夹名称非固定文件夹名称
---------------------------------------------------------------------------------------
4楼
http://www.bathome.net/s/tool/?key=回收站
---------------------------------------------------------------------------------------
5楼
@if(0)==(0) echo off CScript.exe -NoLogo -E:JScript %~f0 "c:\" "c:\test.txt" pause & exit @end var objShell = new ActiveXObject('Shell.Application'); var Fi = objShell.NameSpace(10).Self.Path; var Folder=objShell.NameSpace(WScript.Arguments.Item(0)); var FolderItem=Folder.ParseName(WScript.Arguments.Item(1)); objShell.NameSpace(Fi).MoveHere(FolderItem);
---------------------------------------------------------------------------------------
6楼
上面的代码试了下,运行不了,修改了一下,这样也可以了
//&cls&cscript -nologo -e:jscript "%~f0" "文件或文件夹完整路径"&pause&exit new ActiveXObject('Shell.Application').NameSpace(10).MoveHere(WScript.Arguments(0));
下面这样也可以
@echo off set "f=文件或文件夹完整路径" echo;"%f%"|mshta "javascript:new ActiveXObject('Shell.Application').NameSpace(10).MoveHere(new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(0).readline().split('"')[1]);close()" pause
---------------------------------------------------------------------------------------
7楼
嗯 这里用 COPY 源文件也跑去回收站
set ph=c:\test.txt mshta "javascript:new ActiveXObject('Shell.Application').NameSpace(10).CopyHere('%ph:\=\\%');close()"
---------------------------------------------------------------------------------------
出处:http://www.bathome.net/viewthread.php?tid=37633
=======================================================================================
清空回收站,直接上代码:
Sub ClrRecycleBin() '清空回收站 On Error Resume Next Dim oShell, oSHFolder, objFSO, oSHFItem, FilePath Set oShell = CreateObject("Shell.Application") Set oSHFolder = oShell.Namespace(&Ha&) Set objFSO = CreateObject("Scripting.FileSystemobject") FOR each oSHFItem IN oSHFolder.Items IF (oSHFItem.type = "File Folder") THEN '删除文件夹 FilePath = oSHFItem.Path objFSO.DeleteFolder FilePath,True ELSE '删除文件 FilePath = oSHFItem.Path objFSO.DeleteFile FilePath,True End IF NEXT Set objFSO = Nothing Set oshell = Nothing Set oSHFolder = Nothing END Sub
出处:https://zhidao.baidu.com/question/1675169828580917507.html
=======================================================================================
思路:使用("Shell.Application")对象的Namespace方法获取到回收站文件夹对象,然后使用 MoveHere 或者 CopyHere 方法,把需要删除的文件移动到回收站。
注意:就是考虑是在bat中执行,还是在vbs中执行,以及如何简单,尽量一行代码完成。
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/16077815.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!