批處理刪除文件進回收站
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中執行,以及如何簡單,盡量一行代碼完成。