2010-01-10 54 views
18

tôi nhận được một lỗi biên dịch khi tôi cố gắng chạy mã vbs sau đây từ một dấu nhắc lệnh trong Windows 7.VBScript Invalid Character 800A0408 biên soạn lỗi

Option Explicit 
Dim objNetwork, strRemotePath1, strRemotePath2, strRemotePath3 
Dim strDriveLetter1, strDriveLetter2, strDriveLetter3, strUserName 

Set objNetwork = CreateObject("WScript.Network") 
strUserName = objNetwork.UserName 

strDriveLetter1 = "H:" 
strDriveLetter2 = "P:" 
strDriveLetter3 = "S:" 
strRemotePath1 = "\\test\public\users\" & strUserName & "\" 
strRemotePath2 = "\\test\public\groups\" 
strRemotePath3 = "\\test\scans\" 


'Section which maps two drives, M: and P: and S: 
objNetwork.MapNetworkDrive strDriveLetter1, strRemotePath1 
objNetwork.MapNetworkDrive strDriveLetter2, strRemotePath2 
objNetwork.MapNetworkDrive strDriveLetter3, strRemotePath3 

'Extra code just to add a message box 
WScript.Echo "Map drives " & strDriveLetter1 & " & " & strDriveLetter2 & " & " & strDriveLetter3 

Wscript.Quit 

Nó nói vấn đề là với Line 1 Char 1. Bất kỳ ý tưởng?

+15

đã bạn đã lưu file .vbs của bạn như ANSI? –

+0

Đó là nó. Cảm ơn! – Mike

Trả lời

51

Sự cố có thể xảy ra là cách tệp của bạn được mã hóa; cố gắng lưu nó như ANSI và chạy lại.

+0

đó là dành cho tôi, cảm ơn! –

+0

My .vbs được mã hóa với UTF-8-BOM. Thay đổi sang UTF-8 đã làm các trick. – Alrekr

16

FYI cho những người có cùng một vấn đề trong tương lai, để sửa lỗi này:

  1. Mở .vbs trong notepad
  2. Đến nộp và "save as"
  3. Ngay dưới tên tập tin , bạn sẽ thấy một trình đơn thả xuống để mã hóa. Chọn ANSI.
0

Kiểm tra bạn không sử dụng charater mở rộng như á é í ó ú n trong tên của một biến

+0

Điểm chính xác của câu trả lời này là gì? – Martin

+1

Khi lỗi này được ném, nó không phải đặc biệt vì tên biến, nhưng bởi thực tế đơn giản là có một ký tự không được hỗ trợ chứa trong tệp (cần được mã hóa thành ANSI để hoạt động). –