2012-03-12 4 views
0

У меня проблема в VBScript. Я получаю сообщение об ошибке при запуске этого скрипта. В нем говорится, что «путь не найден».Ошибка VBScript: путь не найден

<SCRIPT Language="VBScript"> 
Option Explicit  
dim filesys, filetxt 
Const ForReading = 1, ForWriting = 2, ForAppending = 8 
Set filesys = CreateObject("Scripting.FileSystemObject") 
If not filesys.FileExists("%USERPROFILE%\CAD_Kunde\CAD_Kunde.txt") Then 
    Set filetxt = filesys.OpenTextFile("%USERPROFILE%\CAD_Kunde\CAD_Kunde.txt", ForWriting, True) 
    filetxt.WriteLine ("1") 
filetxt.Close 
End If 

</script> 
+0

Что вы наделали? Работает ли он, когда вы помещаете существующее местоположение (C: \ temp) вместо '% USERPROFILE%'? Работает ли он, когда вы вводите свой пользовательский ресурс (C: \ Documents and Setting \ yourusername) вместо '% USERPROFILE &'? Вы пробовали [google] (http://www.google.nl/search?q=vbscript+USERPROFILE)? – AutomatedChaos

+0

Я сделал это с (C: \ temp) раньше, но теперь я хочу сделать это в профиле пользователя. С C: \ Documents and Setting \ myusername он не работает с той же ошибкой. Да, я попробовал Google. – user1225282

ответ

0

Шаги для решения этой проблемы. (Я мог бы дать решение в Oneliner, но то, что это весело обучения в этом?)

  1. Appearently,% USERPROFILE% не получает признание в Scripting.FileSystem COM. Поэтому мы должны заменить его вручную соответствующим значением.
  2. % USERPROFILE% - environment variable. Системные переменные можно получить через метод ExpandEnvironmentStrings объекта Shell. Таким образом, вам нужно создать объект оболочки с помощью: Set WShell = CreateObject("Wscript.Shell")
  3. Теперь вы можете вызвать метод ExpandEnvironmentsStrings объекта Wshell. Он возвращает строку профиля пользователя
  4. Используйте возвращаемую строку в пути.
+0

спасибо, что помогли – user1225282

Смежные вопросы