If you have read through http://poorlycoded.blogspot.com.au/2013/03/precaching-task-sequence-on-client.html and decided you want to know more, well let me try and assist :)
The below script will read from a list of packages and override the content variables for those packages:
sPackageIDs = "ABC12345,ABC98765,ABC00000,ABC111111"
Set objEnv = CreateObject("Microsoft.SMS.TSEnvironment")
Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objShell=CreateObject("Wscript.Shell")
Set objDrives=objFSO.Drives
cacheFolder = "\PathToCache"
path = objFSO.GetParentFolderName(WScript.ScriptFullName)
For Each objDrive In objDrives
If objDrive.DriveType=2 And objDrive.DriveLetter<>"X" Then
If objFSO.FolderExists(objDrive.DriveLetter & ":\Windows") Then
Drive=objDrive.DriveLetter & ":"
End If
End If
Next
strCache = Drive & cacheFolder
tsEnv2Path = objFSO.Buildpath(path,"tsenv2.exe")
pkgSplit = Split(sPackageIDS,",")
for each pkg in pkgSplit
strPKGVar = "_SMSTS" & pkg
For Each variable In objEnv.GetVariables
if variable = strPKGVar then
if objFSO.FolderExists(objFSO.BuildPath(strCache,pkg)) then
objShell.Run(tsEnv2Path & " set " & variable & "=s" & strCache & "\" & pkg & "\",1,true)
end if
next
Next
You can then put this into your task sequence and have those packages overriden by the local, cached package.Obviously be careful you don't have a format step, otherwise this will all be in vain, and if you cache folder is in a non standard location, perhaps ensure its added to the Safe Folder variable by adding this line, or setting the OSDStateStore variable in your TS.
objEnv("OSDStateStorePath")=strCache
Hope this helps! PS i've knocked together the above script without testing in my lab - so obviously test this first :)