Found this bug on the TechNet social group for MDT:
Basically if you call a *.bat or *.cmd file in MDT as an Application, MDT will do some special processing to ensure that the default directory is in a good location for the bat or cmd file.
If not oNode.selectSingleNode("WorkingDirectory") is nothing then sDir = oUtility.SelectSingleNodeString(oNode,"WorkingDirectory") If Trim(sDir) <> "" and Trim(sDir) <> "." then If Left(sDir, 2) = ".\" then If (Instr(1, sCmd, ".CMD", 1) > 0 or Instr(1, sCmd, ".BAT", 1) > 0) and oEnvironment.Item("ResourceDrive") <> "" then If oEnvironment.Item("DeploymentMethod") = "MEDIA" then sDir = oEnvironment.Item("ResourceRoot") & Mid(sDir, 2) Else sDir = oEnvironment.Item("ResourceDrive") & Mid(sDir, 2) End If Else sDir = oEnvironment.Item("ResourceRoot") & Mid(sDir, 2) End if End if sDir = oEnvironment.Substitute(sDir) oUtility.ValidateConnection sDir oLogging.CreateEntry vbTab & vbTab & "Change directory: " & sDir, LogTypeInfo On Error Resume Next oShell.CurrentDirectory = sDir
ResourceDrive is a drive letter (Z:\) mapped to the Deployment share rather than the network path like ( \\MDT1\DeploymentShare$ ) Batch scripts like the drive letter better than the full path.
However in the RTM version of MDT that special test doesn’t work since sCMD is always empty for the block above.
Haven’t had a chance to code a fix, sadly it doesn’t directly affect me right now, I don’t use any cmd scripts.
If you want to upvote for a fix: