0

警告私はVBの知識がゼロです

だから私は今朝この便利なスクリプトを見つけました:

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を調べて、MalwarebytesAnti-Malware.LNKを検索するすべてのプロファイルを参照することをお勧めします。これに関するいくつかのスクリプトを見たことがありますが、VBに頭を巻くことができないのは短時間です。ご意見をいただければ幸いです。

4

1 に答える 1

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"
于 2012-10-29T14:27:43.377 に答える