これが私がやろうとしていることです。
このスクリプトは、コンピューター名のテキスト ファイルを一度に 1 つずつ読み取ります。
program.lnk が存在するかどうかを確認します。リンクが存在する場合は、新しいリンクをそのコンピューター/ユーザー プロファイルにコピーします。次に、新しいテキスト ファイルにコンピュータ名とプログラムが存在することを記録します。次に、元の program.lnk ファイルを削除します。
program.lnk が存在しない場合、同じテキスト ファイルにコンピュータ名とプログラムが存在しないことが記録されます。
その後、scipt はリスト内の次のコンピューター名に移動します。
ComputerListModified.txt ファイルが存在しない場合は作成するのに問題がありますが、存在する場合はファイルを追加します。
これが私が持っているコードです....
InputFile = "C:\scripts\computers.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\Wellcore Operations.LNK") Then
objFSO.CopyFile "\\pc01130\c$\scripts\Wellcore OperationsReadOnly.lnk", (objsubfolder.Path & "\desktop\")
outFile="c:\scripts\ComputerListModified.txt"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write strComputer: objFile.Write " This Computer had Wellcore Operations" & vbCrLf
objFile.Close
Else
outFile="c:\scripts\ComputerListModified.txt"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write strComputer: objFile.Write " This Computer did not have Wellcore Operations" & vbCrLf
objFile.Close
End If
If objFSO.FileExists(objsubfolder.Path & "\desktop\Wellcore Operations.LNK") Then
objFSO.DeleteFile (objsubfolder.Path & "\desktop\Wellcore Operations.LNK")
End If
Next
Loop
MsgBox "Done"