从多个用户的远程计算机中删除快捷方式

时间:2012-10-29 14:00:54

标签: vbscript

警告我没有VB knoeledge

所以今天早上我找到了这个方便的脚本:

InputFile = "C:\MachineList.Txt"
Const DeleteReadOnly = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(InputFile)
Do While Not (objFile.AtEndOfStream)
strComputer = objFile.ReadLine
On Error Resume Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile("\\" & strComputer & "\c$\Documents and Settings\all users\Desktop\Malwarebytes Anti-Malware.LNK")
Err.Clear
Loop

MsgBox "Done"

这项工作做得很好。我面临的问题是快捷方式并不总是在所有用户之下,或者他们的名字可以称之为user1

所以我很乐意通过MachineList.txt浏览所有搜索Malwarebytes Anti-Malware.LNK的配置文件。我已经看到了一些这样的脚本,但我无法绕过VB很短的时间。我很感激任何意见。

1 个答案:

答案 0 :(得分:1)

我认为你提供的内容会导致有效的路径...因此这应该有效:

InputFile = "C:\MachineList.Txt"
Const DeleteReadOnly = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(InputFile)
Do While Not (objFile.AtEndOfStream)
    strComputer = objFile.ReadLine
    For Each objsubfolder In objFSO.GetFolder("\\" & strComputer & "\c$\Documents and Settings\").subfolders
        If objFSO.FileExists(objsubfolder.Path & "\desktop\Malwarebytes Anti-Malware.LNK") Then
            objFSO.DeleteFile (objsubfolder.Path & "\desktop\Malwarebytes Anti-Malware.LNK")
        End If
        'To check another file uncomment this
        'Add as many of these as you like here
        'If objFSO.FileExists(objsubfolder.Path & "\desktop\Otherfile.LNK") Then
        '    objFSO.DeleteFile (objsubfolder.Path & "\desktop\Otherfile.LNK")
        'End If
    Next
Loop

MsgBox "Done"