0

私は以前に同様のものを使用したことがあり、ネットワーク内のすべてのコンピューターでローカル管理者権限を持っています。次のコードは、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"
4

1 に答える 1