ASP Forum
Subscript out of range error
SteveW | Posted 10:55am 29. July 2009 Server Time |

Hi, I don't know too much about VBS, 7 I hope this is the right place to look for advice.

I'm trying to move my entire User folder in Vista to a non-system partition. To do so with a minimum hassle I'm following the directions provided at http://benjol.blogspot.com/2009/05/moving-users-folder-in-vista.html, specifically the vbs script he provides. However executing the script throws up an error which I can't resolve myself. Here's the  relevant vbs code snippet followed by the text file it calls on, and finally my error message. Can someone help me correct the problem?


VBS Code:

'# Perform dir /a c:\users > c:\dir.txt
'# place this script file in c:\ too
'# double click to run it
'# run resulting script.bat from recovery mode
repprefix = " Directory of..." ' Modify to your language
sourcedrive = "C:\"
targetdrive = "D:\"
altsourcedrive = "C:\" 'leave same as target drive unless otherwise indicated
alttargetdrive = "E:\" 'leave same as target drive unless otherwise indicated

inname = "dir.txt"
outname = "script.bat"
userroot = "Users"

set fso = CreateObject("Scripting.FileSystemObject")

' construct batch commands for saving rights, then link, the recreating rights
Function GetCommand(curroot, line, typ, keyword)
' first need to get source and target
pos = Instr(line, keyword) + Len(keyword)

tuple = Trim(Mid(line, pos))
arr = Split(tuple, "[")

oldtarget = Replace(arr(1), "]", "")
oldlink = curroot & "\" & Trim(arr(0))

-------------

Here's the dir.txt file:

Volume in drive C is ACER
Volume Serial Number is 08D7-C0CC

Directory of c:\users

07/16/2009 12:29 PM <DIR
07/16/2009 12:29 PM <DIR> ..
11/02/2006 09:02 AM <SYMLINKD> All Users [C:\ProgramData]
11/02/2006 09:02 AM <DIR> Default
11/02/2006 09:02 AM <JUNCTION> Default User [C:\Users\Default]
08/21/2008 08:37 AM 174 desktop.ini
11/02/2006 08:50 AM <DIR> Public
07/19/2009 08:54 PM <DIR> Steve
1 File(s) 174 bytes
7 Dir(s) 5,679,947,776 bytes free

-------------

Here's the error message:

Windows Script Host

Script: C:\userlocationchange.vbs
Line: 25
Char: 2
Error: Subscript out of range: '[number: 1]'
Code: 800A0009
Source: Microsoft VBScript runtime error

----------

It seems like the script is not getting the brackets & the data they contain from the dir.txt file. Why is this happenning, and how can I correct it?


Reply to Post Subscript out of range error



Back to Forum Page