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中执行,以及如何简单,尽量一行代码完成。

posted on 2022-03-30 16:45  jack_Meng  阅读(823)  评论(0编辑  收藏  举报

导航