私は以前に同様のものを使用したことがあり、ネットワーク内のすべてのコンピューターでローカル管理者権限を持っています。次のコードは、16 行目の char 1 でエラーを生成します。
16 行目 objFSO.GetFolder("\" & strComputer & "%HOMEPATH%").subfolders の各 objsubfolder について
ファイルが存在する場合は、プロファイルを持つ各ユーザーについて、そのことを示す行をテキスト ファイルに書き込む必要があります。ファイルが存在しない場合は、同じテキスト ファイルに行を書き込む必要があります。
表示されるエラーは、Path not found 800A004C です。
computer.txt ファイルには、チェックするすべてのコンピューターのリストが含まれています。
InputFile = "computers.txt"
Const DeleteReadOnly = True
Const ForAppending = 8
Dim goFS : Set goFS = CreateObject("Scripting.FileSystemObject")
Dim gsLog : gsLog = ".\logdemo.log"
WScript.Echo gsLog, "exists:", CStr(goFS.FileExists(gsLog))
' .OpenTextFile(filename[, iomode[, create[, format]]])
Dim goLog : Set goLog = goFS.OpenTextFile(gsLog, ForAppending, True)
goLog.WriteLine Now & " start"
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 & "%HOMEPATH%").subfolders
If objFSO.FileExists(objsubfolder.Path & "\desktop\program1.LNK") Then
golog.WriteLine Join(Array(Now, strComputer, objsubfolder, "This Computer has Program 1"))
Else
golog.WriteLine Join(Array(Now, strComputer, objsubfolder, "None"))
End If
Next
Loop
golog.WriteLine Now & " End"
golog.WriteLine "-----------------------------------------------------------"
golog.Close
MsgBox "Done"