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中執行,以及如何簡單,盡量一行代碼完成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM