1

Тема: WSH,VBS,JS:Код работает отлично на одном ПК,но выдает ошибку на другом

Копирование файла в определенные подпапки


Dim fso, fold1, fol1, foc1, fpath, file1
Set fso = CreateObject("Scripting.FileSystemObject")
Set file1 = fso.GetFile("D:\Файл\forma_dog.pdf")
Set fold1 = fso.GetFolder("D:\Юр.лица")
Set foc1 = fold1.SubFolders
For Each fol1 in foc1
	fpath = fol1.Path & "\Постоянный договор\" & file1.name
	file1.Copy (fpath)
	'MsgBox fpath
Next

Дома все работает отлично. А на работе выдает ошибку:

Строка 3 символ 1 файл не найден, код 800A0035

Пути на работе верные. Проводник их открывает. Файл верно указал. Он существует. Могу предположить что это из-за того что у меня нет прав администратора. Если так - то это можно как-то обойти? Или в данном случае vbs бесполезен? AHK между прочим все отлично копировал и перемещал на работе.

2 (изменено: Xameleon, 2021-10-08 04:11:53)

Re: WSH,VBS,JS:Код работает отлично на одном ПК,но выдает ошибку на другом

mike.sunday19, приветствую. По коду пока не вижу явной проблемы, поэтому предположу:
1) Вы этот скрипт запускаете из одного и того же файла ? Не может быть, что вы сохранили файл дома и на работе в разных кодировках ? WSH иногда неправильно понимает пути с русскими символами, если файл сохранён в UTF-8 или других кодировках. Желательно использовать Windows-1251.

2) Думаю, если бы не было прав администратора, то ошибка была бы с другой формулировке - "Отказано в доступе" или "Access Denied".

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

3 (изменено: mike.sunday19, 2021-10-08 08:14:24)

Re: WSH,VBS,JS:Код работает отлично на одном ПК,но выдает ошибку на другом

Xameleon  здравствуйте!
кажется ваше предположение оказалось верным. Единственная разница в том что скрипт дома я писал в обычном блокноте, а т.к. передача файлов на рабочий ПК невозможна извне, пришлось его вручную переписывать. А переписывал я его на работе в notepad++. Сейчас попробовал дома написать его в notepad++ и  странное дело: первый раз запустилось. Однако после того как пересохранил скрипт, кодировка поменялась, вместо русских символов появилась абракадабра. и конечно появилась та же ошибка. Пробовал поменять кодировку -почему-то не меняется. Попробовал ещё раз написать код в обычном блокноте - все работает. Приду сегодня на работу перепишу в обычном блокноте попробую.
Неужели  всегда надежный notepad++ не дружит с  vbs?

4 (изменено: Xameleon, 2021-10-08 23:53:30)

Re: WSH,VBS,JS:Код работает отлично на одном ПК,но выдает ошибку на другом

mike.sunday19, дружат они. Ещё как дружат. Главное, чтобы вы тоже дружили с Notepad++. В нём, в меню Кодировки, есть переключение кодировок (оно заставляет нотпад перечитать файл с новой указанной кодировкой), а есть команда "преобразовать в.. " (преобразовать в UTF-8 и т.п.) - она текущий отображаемый текст переведёт в нужную вам кодировку. И вам в этом меню надо было не переключить кодировку, а нажать на преобразовать в ASCII, например. Но есть варианты и проще. Можно перейти на написание скриптов WSH в формате WSF. Тогда файл можно спокойно сохранять в UTF-8.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

5

Re: WSH,VBS,JS:Код работает отлично на одном ПК,но выдает ошибку на другом

Не. Лучше перейти на Far Manager .

6 (изменено: Xameleon, 2021-10-10 10:27:10)

Re: WSH,VBS,JS:Код работает отлично на одном ПК,но выдает ошибку на другом

alexii, категорически не..... ! ! ! ! возражаю.

+ открыть спойлер

https://i.imgur.com/4afVYOW.jpg

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !