vbs fso, ошибка 800a004c, path not found
Может кто-то сталкивался с подобной проблемой, если так, то прошу оказать консультативную помощь)
собственно проблема в следующем:
сохраняю путь к директорий с помощью переменной, а далее использую эту переменную в функциях
Все казалось бы элементарно, но парадокс, который мне не понятен, заключается в том, что скрипт выборочно работает на некоторых машинах.
Везде имеем XP SP3, пользователи доменные, доступ к папкам есть, файлы в директорий в ручную создаются, НО из 6 компьютеров, скрипт отрабатывает только на 3-х, на остальных имеем ошибку 800a004c, путь не найден..
кусок кода:
'----------------------------------------------------------------
LogPath = "P:\BIILog\"
'----------------------------------------------------------------
Set fso = CreateObject("Scripting.FileSystemObject")
currentDate = Date()
currentDate = Replace(currentDate, ".", "")
If fso.FileExists(LogPath & "VBlog" & currentDate & ".log") Then
Set NewFile = fso.OpenTextFile(LogPath & "VBlog" & currentDate & ".log", ForAppending, True)
Else
Set NewFile = fso.CreateTextFile(LogPath & "VBlog" & currentDate & ".log", True)
End If
ошибка появляется на момент SET NewFile = fso.CreateTextFile
Set NewFile = fso.OpenTextFile(LogPath & "VBlog" & currentDate & ".log", ForAppending, True)
Else
If fso.FolderExists(LogPath) Then
Set NewFile = fso.CreateTextFile(LogPath & "VBlog" & currentDate & ".log", True)
Else
MsgBox "Путь [ " & LogPath & " ] не найден.", vbExclamation
End If
End If
Если тип переменной [color=blue]currentDate[/color] - VARIANT (а так оно, вероятнее всего, и есть) - то "ей начихать", какой там формат записи даты.
Путь 100% существует, более того, как я писал, скрипт отрабатывает корректно и находит путь буквально на соседней машине(PC), почему путь не может быть найден именно на этом компьютере(ах) я не знаю, и гугл ничего толкового не выдал..
1) использовать UNC(\\сервер\шара) вместо сетевого диска
2) http://support.microsoft.com/kb/197964
Ну и 3) погуглить вы не один с такой проблемой может решение уже есть
И укажите как и с чьими правами этот скрипт запускается? (Пользователем/назначеные задания/и т.д.)
Использовал UNC - не помогло, для проверки взял локальный физ. диск - та же ошибка. Такое впечатление, что проблема в XP или в специфике установки, может не хватает каких-либо компонентов?
Все подобные случаи, с которыми мне приходилось встречаться, сводились к одной причине - наличие одного или нескольких символов кириллицы среди прочих латинских. Проверьте.
Пробовал указать явный адрес "C:\" - проблема та же
Файл c:\1.txt сценарий на "проблемных" станция создать может? Если может, то каково значение переменной [color=blue]currentDate[/color] для этих станций?
Если не может создать, то сможет ли открыть, если файл создать вручную.
Если не может создать, то сможет ли открыть, если файл создать вручную.
Dmitrii Вы гений)
на проблемных компьютерах, почему-то формат currentDate = Date() возвращал dd\mm.yyyy и понятно, что проблема из за пресловутого \
А на компьютерах на которых все отрабатывалось как надо и собственно на котором создавался скрипт, формат был - dd.mm.yyyy
Наверное это напрямую зависит от формата отображения даты в системных настройках ХП..
Проблема решена, всем спасибо, отдельное Спасибо Dmitrii!
Единственное, чего он не сделал,- не поставил вопросительного знака в конце своего предложения, из-за чего оно приобрело не тот смысл, который в него вкладывал автор.
на проблемных компьютерах, почему-то формат currentDate = Date() возвращал dd\mm.yyyy и понятно, что проблема из за пресловутого \
А на компьютерах на которых все отрабатывалось как надо и собственно на котором создавался скрипт, формат был - dd.mm.yyyy
Наверное это напрямую зависит от формата отображения даты в системных настройках ХП..
Проблема решена, всем спасибо, отдельное Спасибо Dmitrii!
я же про точки и / писал.
Dmitrii на это возразил:
"Если тип переменной currentDate - VARIANT (а так оно, вероятнее всего, и есть) - то "ей начихать", какой там формат записи даты"
Dmitrii на это возразил:
"Если тип переменной currentDate - VARIANT (а так оно, вероятнее всего, и есть) - то "ей начихать", какой там формат записи даты"
Мы с Dmitrii не так Вас поняли)
Спасибо gacol!
Единственное, чего он не сделал,- не поставил вопросительного знака в конце своего предложения, из-за чего оно приобрело не тот смысл, который в него вкладывал автор.
точно!
перечитал свое сообщение и вижу, что и сам его уже не понимаю,
извиняюсь за небрежность