Computer Performance, Logon Scripts

Code Error 800A0409 - Unterminated string constant

Troubleshooting Code 800A0409 - Unterminated string constant

An easy error to cure, especially if you count the Char: number.  Naturally, start at the beginning of the line referenced in the error message.  Solving 800A0409 really is that easy.

Introduction to error Code 800A0409

This error code, 800A0409 usually occurs when you execute a VBScript.  Most likely you have left out a closing speech mark or bracket.

The Symptoms you get Code 800A0409 - Error Unterminated string constant

Windows Scripting host generates a message box like this.  The script does not execute as you would have hoped.  A possible scenario is that you are trying to create a Windows logon script.

The Cause of Error 800A0409

Your VBScript lacks a closing punctuation mark at the end of a line.  If I could emphasise, look at the end of the line not the beginning.  To help you, pay close attention to the Char: number, in my example, 57.  One nasty variation of Error 800A0409 is where you mix up single and double quote marks.

Source: Microsoft VBScript compilation error, which means it a syntax error in your script, rather than a runtime error.

The Solution

Check the syntax of your script, particularly for closing statements, speech marks or brackets.  Look for clues, count all the lines including blank lines and 'REM lines.  In this example the problem is at Line:2.  In this case the Char: number (57) is particularly useful for identifying the missing speech mark.

If you are still stuck then a good script editor really would help this type of problem because it color codes the commands.  Free download of OnScript.

  ‡

Example Script for error 800A0409

Set WshNetwork = WScript.CreateObject("WScript.Network)  Missing speech mark
Set WshNetwork = WScript.CreateObject("WScript.Network")  Corrected version
 

Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshNetwork = WScript.CreateObject("WScript.Network)
Set AllDrives = WshNetwork.EnumNetworkDrives()

DriveLetter = "N:" 'must be capitalized
RemotePath = "\\alan\home"

AlreadyConnected = False
For i = 0 To AllDrives.Count - 1 Step 2
If AllDrives.Item(i) = DriveLetter Then AlreadyConnected = True
Next

If AlreadyConnected = False then
WShNetwork.MapNetworkDrive DriveLetter, RemotePath
WshShell.PopUp "Drive " & DriveLetter & " connected oK."

Else
WShNetwork.RemoveNetworkDrive DriveLetter
WshShell.PopUp "Drive " & DriveLetter & " disconnected."
End if
 

 

Solarwinds IpMonitorTry a different solution, download SolarWinds ipMonitor

Here is my thinking, ipMonitor will give you valuable data about your network and servers.  This extra information just may unlock the solution to your error code.  One more thing, sometimes when troubleshooting you go around in circles; therefore if you try a different, but related approach, you may just crack the problem.  Free Download of SolarWinds ipMonitor (21 day eval).

Computer Training Software - Recommended Training VideosGuy Thomas recommends Computer Training Software

Their topics and material are ideal for getting you started with VBScript.  The videos are easy to follow and you can control the pace.  Try their free demo material and then see if you want to buy the full package. See more about VB Script Training CD.


Do you need extra help?

For interpreting the WSH messages check Diagnose 800 errors.

For general advice try my 7 Troubleshooting techniques

Give something back?

Would you like to help others?  If you have a good example of this error, then please email me, I will publish it with a credit to you:

 

 *


Google

Web  This website

Review of Orion NPMGuy Recommends: Orion's Network Performance Monitor (NPM)

Orion NPM is designed for detecting network outages.

Network-centric views (screenshot) make it easy to see what's working, and what needs your attention.

Download your free trial of Orion's network performance monitor

 

Home Copyright © 1999-2010 Computer Performance LTD All rights reserved

Please report a broken link, or an error.