Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222

Ошибка поиска файла в директории темр

24.07.2019, 10:40. Показов 4505. Ответов 44
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста , как прописать путь к папке темр в vbs , что б оькрыть файл... пишет что не найден файл.... (((
Что может быть не так и каааак решить. Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.07.2019, 10:40
Ответы с готовыми решениями:

Ошибка, связанная с открытием файла из другой директории
Здравствуйте. Есть корневой каталог, в котором находится php файл. Так же в этом каталоге есть папка files и папка категории сайта cat....

Ошибка: непредвиденный конец файла во время поиска предкомпилированного заголовка
Ошибка 5 error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву...

Создание директории и файла
Здравствуйте, помогите решить такую проблему: создаю оконное приложение для школы, в поле jTextField1 приложения задаётся класс (например...

44
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,747
24.07.2019, 12:09
Забыли предоставить самое главное — проблемный код.

Добавлено через 1 час 21 минуту
Что, ответа не будет? Печально...
Visual Basic
1
2
3
4
With CreateObject("Scripting.FileSystemObject")
  File = .GetSpecialFolder(2) & "\Test.txt"
  If .FileExists(File) Then CreateObject("Shell.Application").Open File
End With
0
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
24.07.2019, 13:11  [ТС]
Отвечу после работы когда приду ) Пасибо
0
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
24.07.2019, 23:10  [ТС]
FlasherX, Спасибо большое. Ведь я использовал ваш скрипт.., который вы мне предлагали потестить, если мне подойдет, в другой теме.
Вот он:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Option Explicit: Dim oFSO, SINK, Arch, oFName, iFName
'——————————————————————————————————————————————————————
Const Sec   = 2            ' секундный интервал запроса
Const BName = "Setup"      ' базовое имя файла
Const Ext   = ".txt"       ' расширение файла
Const oPath = "C:\backup\" ' путь с проверяемым файлом
Const iPath = "D:\backup\" ' путь с резервной копией
'——————————————————————————————————————————————————————
If CreateObject("WScript.Shell").Environment("System")_
("PROCESSOR_ARCHITECTURE") = "x86" Then Arch = 32 Else Arch = 64
oFName = OPath & BName & Ext
iFName = iPath & BName & Arch & Ext
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set SINK = WSH.CreateObject("WbemScripting.SWbemSink", "SINK_")
If Not oFSO.FileExists(oFName) Then SINK_OnObjectReady "", ""
Sub SINK_OnObjectReady(n,x): oFSO.CopyFile iFName, oFName: End Sub
GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")._
ExecNotificationQueryAsync SINK, "SELECT * FROM __InstanceDeletionEvent WITHIN " & Sec &_
" WHERE Targetinstance ISA 'CIM_DataFile' AND TargetInstance.Name='" & Replace(oFName, "\", "\\") & "'"
Do: WSH.Sleep 60000000 :Loop
только я исправил
Visual Basic
1
Const iPath = "D:\backup" ' путь с резервной копией
НА
Visual Basic
1
Const iPath = "%Temp%" ' путь с резервной копией
Но после запуска скрипта пишет, что путь не найден...
Может это из за того, что в пути к папке Temp имеются названия папок с русскими буквами... К примеру С:\Users\Пользователи\...
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,747
24.07.2019, 23:35
sam6780, а зачем хранить резервную копию в TEMP, которая обычно очищается?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Option Explicit: Dim oFSO, SINK, Arch, oFName, iFName
'——————————————————————————————————————————————————————
Const Sec   = 2            ' секундный интервал запроса
Const BName = "Setup"      ' базовое имя файла
Const Ext   = ".txt"       ' расширение файла
Const oPath = "C:\backup\" ' путь с проверяемым файлом
'——————————————————————————————————————————————————————
If CreateObject("WScript.Shell").Environment("System")_
("PROCESSOR_ARCHITECTURE") = "x86" Then Arch = 32 Else Arch = 64
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFName = OPath & BName & Ext
iFName = oFSO.GetSpecialFolder(2) & "\" & BName & Arch & Ext
Set SINK = WSH.CreateObject("WbemScripting.SWbemSink", "SINK_")
If Not oFSO.FileExists(oFName) Then SINK_OnObjectReady "", ""
Sub SINK_OnObjectReady(n,x): oFSO.CopyFile iFName, oFName: End Sub
GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")._
ExecNotificationQueryAsync SINK, "SELECT * FROM __InstanceDeletionEvent WITHIN " & Sec &_
" WHERE Targetinstance ISA 'CIM_DataFile' AND TargetInstance.Name='" & Replace(oFName, "\", "\\") & "'"
Do: WSH.Sleep 60000000 :Loop
1
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
25.07.2019, 00:16  [ТС]
Я подумал о том же... тогда лучше может поместить бы в AppData...?
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,747
25.07.2019, 00:25
Системные и тем более профильные папки сами по себе ненадёжны. Вдруг система слетит?
А что вдруг сподвигло сменить курс с исходного варианта с другим диском?
И, кстати говоря, лучше не копировать, а создавать хардлинк или симлинк.
0
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
25.07.2019, 01:00  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
лучше не копировать, а создавать хардлинк или симлинк
я так почитал о хард и сим но не совсем понял. Это что - как бы удаленный файл на сайте или как ...? ...

Добавлено через 13 минут
Цитата Сообщение от FlasherX Посмотреть сообщение
А что вдруг сподвигло сменить курс с исходного варианта с другим диском?
Мне удобнее было бы размеcтить копируемый файл на системном т.е. на С. Это в первую очередь обеспечит то , что никто на диск системный лазит не будет а т.б. в аппдату к примеру, что не скажешь о диске D к примеру где постояно, что то происходит.
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,747
25.07.2019, 01:24
Цитата Сообщение от sam6780 Посмотреть сообщение
Это что - как бы удаленный файл на сайте или как ...?
При чём тут сайт? Жёская ссылка — это имя (запись), жёстко привязанное к физическому объекту в одном томе. На NTFS любой файл по сутии есть хардлинк. Символическая — это уже псевдофайл нулевого размера, ссылающийся на объект и не зависящий от тома.

Что касаемо D:, то можно на вкладке "Безопасность" сделать запрет на модификацию и удаление всем кроме Владельца.
А на C: я бы тоже использовал несистемную папку. Ну, или папку "Мои документы" хотя бы.
0
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
25.07.2019, 01:33  [ТС]
"Мои документы" или "Appdata" - все равно в пути что то не так. Думаю - есть русские символы и поэтому не копируется файл или в чем причина может быть тогда.
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,747
25.07.2019, 01:51
А я пока ничего и не показал. Вот пример для папки документов:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Option Explicit: Dim oWSH, SINK, Arch, oFName, iFName
'——————————————————————————————————————————————————————
Const Sec   = 2            ' секундный интервал запроса
Const BName = "Setup"      ' базовое имя файла
Const Ext   = ".txt"       ' расширение файла
Const oPath = "C:\backup\" ' путь с проверяемым файлом
'——————————————————————————————————————————————————————
Set oWSH = CreateObject("WScript.Shell")
If oWSH.Environment("System")("PROCESSOR_ARCHITECTURE") = "x86" Then Arch = 32 Else Arch = 64
oFName = oPath & BName & Ext
iFName = oWSH.SpecialFolders(16) & "\" & BName & Arch & Ext
Set SINK = WSH.CreateObject("WbemScripting.SWbemSink", "SINK_")
If Not CreateObject("Scripting.FileSystemObject")._
FileExists(oFName) Then SINK_OnObjectReady "", ""
GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")._
ExecNotificationQueryAsync SINK, "SELECT * FROM __InstanceDeletionEvent WITHIN " & Sec &_
" WHERE Targetinstance ISA 'CIM_DataFile' AND TargetInstance.Name='" & Replace(oFName, "\", "\\") & "'"
Do: WSH.Sleep 60000000 :Loop
 
Sub SINK_OnObjectReady(n,o)
  oWSH.Run "%ComSpec% /q/c mklink /h """ & oFName & """ """ & iFName & """", 0
End Sub
Если в 11 строке заменить 16 на 5, будет Appdata.
1
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
25.07.2019, 02:13  [ТС]
спасибо большое но при попытке выполнить дан. скрипт - на моем windows 7 выдает ошибку типа:
строка 15 символ 1
Ошибка : Unparsable query
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,747
25.07.2019, 03:49
Форум съедает бэкслэши в кавычках. Ещё раз скопируйте код.
0
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
25.07.2019, 23:28  [ТС]
Добрый вечер. ) Теперь ошибки нет. Но не выполняется скрипт... В диспетчере остается активным но ничего не происходит в плане, что файла в проверяемой папке нет и он не появляется там после запуска скрипта (((
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,747
26.07.2019, 00:33
А файлы Setup32.txt/Setup64.txt в %USERPROFILE%\Documents\ или %APPDATA%\ были скопированы?
0
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
26.07.2019, 00:46  [ТС]
FlasherX, Доброго времени суток... замотался. Sorry )
Дело в том, что теперь четко все включается но не хочет работать т.к. было в первом примере, что вы мне подали в другой теме: Проверить наличие файла в каталоге, с определенной периодичностью, и установить в виду отсутствия
просто логично подхожу - если первый скрипт работал идеально а когда я изменил путь (с кирилицей в пути) то все испортилось. Значит теперь может можна соеденить два кода в один. Прошлый и настоящего времени... ? просто я не знаю как это сделать с vbs. Пробовал по разному. Ничего у меня не вышло (((
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,747
26.07.2019, 00:51
sam6780, ничего тут объединять не надо. Скрипт 100% рабочий, и кириллица никакой роли не играет. Заменил backup на резерв — всё чётко работает.
0
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
26.07.2019, 01:03  [ТС]
крч... Это файлы расширения txt я привел для примера. Думал, разницы "0"
Но у меня файл .dll . Незнаю или имеет это значение ... ???
Вот собств. код с путями какие нужно прописать :
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Option Explicit: Dim oWSH, SINK, Arch, oFName, iFName
'------------------------------------------------------
Const Sec   = 2            ' секундный интервал запроса
Const BName = "opencl"      ' базовое имя файла
Const Ext   = ".dll"       ' расширение файла
Const oPath = "C:\Windows\System32" ' путь с проверяемым файлом
 
'------------------------------------------------------
Set oWSH = CreateObject("WScript.Shell")
If oWSH.Environment("System")("PROCESSOR_ARCHITECTURE") = "x86" Then Arch = 32 Else Arch = 64
oFName = oPath & BName & Ext
iFName = oWSH.SpecialFolders(5) & "" & BName & Arch & Ext
Set SINK = WSH.CreateObject("WbemScripting.SWbemSink", "SINK_")
If Not CreateObject("Scripting.FileSystemObject")._
FileExists(oFName) Then SINK_OnObjectReady "", ""
GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")._
ExecNotificationQueryAsync SINK, "SELECT * FROM __InstanceDeletionEvent WITHIN " & Sec &_
" WHERE Targetinstance ISA 'CIM_DataFile' AND TargetInstance.Name='" & Replace(oFName, "", "\") & "'"
Do: WSH.Sleep 60000000 :Loop
 
Sub SINK_OnObjectReady(n,o)
  oWSH.Run "%ComSpec% /q/c mklink /h """ & oFName & """ """ & iFName & """", 0
End Sub
при таком раскладе... вобще не т.к. с txt было четко. Даже не знаю имеет ли значение - расширение в нормальной работе скрипта ... ?

Добавлено через 10 минут
Цитата Сообщение от FlasherX Посмотреть сообщение
А файлы Setup32.txt/Setup64.txt в %USERPROFILE%\Documents\ или %APPDATA%\ были скопированы?
Тут стоп... Я думал, что скрипт отсюда берет файлы а не копирует в дан. диру...
Ну вообщем я скопировал файлы : opencl ... х32 и х64 в директорию AppData и в Documents & Seetings - и думал - с нее дожно скопировать в директорию C:\Windows\System32 если файла нет.
Но ничего не происходило .
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,747
26.07.2019, 01:15
Вот видите, у вас в 12-й и 18-й строках кода пропали слэши.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Option Explicit
Dim oWSH, oFSO, SINK, Arch, oFName, iFName
'———————————————————————————————————————————————————
Const Sec   = 2         ' секундный интервал запроса
Const BName = "OpenCL"  ' базовое имя файла
Const Ext   = ".dll"    ' расширение файла
'———————————————————————————————————————————————————
Set oWSH = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
If oWSH.Environment("System")("PROCESSOR_ARCHITECTURE") = "x86" Then Arch = 32 Else Arch = 64
oFName = oFSO.GetSpecialFolder(1) & "\" & BName & Ext
iFName = oWSH.SpecialFolders(5) & "\" & BName & Arch & Ext
Set SINK = WSH.CreateObject("WbemScripting.SWbemSink", "SINK_")
If Not oFSO.FileExists(oFName) Then SINK_OnObjectReady "", ""
GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")._
ExecNotificationQueryAsync SINK, "SELECT * FROM __InstanceDeletionEvent WITHIN " & Sec &_
" WHERE Targetinstance ISA 'CIM_DataFile' AND TargetInstance.Name='" & Replace(oFName, "\", "\\") & "'"
Do: WSH.Sleep 60000000 :Loop
 
Sub SINK_OnObjectReady(n,o)
  oWSH.Run "%ComSpec% /q/c mklink /h """ & oFName & """ """ & iFName & """", 0
End Sub
Всё работает. Никаких проблем.

Цитата Сообщение от sam6780 Посмотреть сообщение
Я думал, что скрипт отсюда берет файлы а не копирует в дан. диру.
А где я писал про скрипт? Вручную, конечно. Судя по всему, нет или мимо.
Цитата Сообщение от sam6780 Посмотреть сообщение
в директорию AppData
Полный путь в студию.
Цитата Сообщение от sam6780 Посмотреть сообщение
Documents & Seetings
Ну, как я и сказал — мимо.
0
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
26.07.2019, 02:03  [ТС]
Запуталася я окончательно... Полный путь к проверяемому файлу это C:\Windows\System32
, а путь к файлу который нужно скачать при необходимости и вставить в C:\Windows\System32 - должен находиться либо в AppData либо в Documents & Seetings
или я что то не правильно понял... Ну и в целом пока что - не выходит ничего (

Добавлено через 8 минут
ааа, и полный путь кпримеру для appdata : C:\Users\Fujitsu_1\AppData\Roaming
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.07.2019, 02:03
Помогаю со студенческими работами здесь

Удаление файла из директории
Вообщем такое дело, есть простой скрипт галереи на PHP, всё работает прекрасно, но увы, никак не получается сделать удаление файла! ...

Использование файла в директории
Файл style.css находится в директории skin (эта папка в папке с программой). QFile styleFile(":/skin/style.css"); ...

Выбор файла из директории
Здравствуйте,как можно организовать? вот мой код: QFile file("3.txt"); //QVector< QVector<double> > numbers; ...

C# вставка директории файла...
Необходимо реализовать следующее: при нажатии кнопки "Open" появляется окно для выбора файла(изображения). После выбора он загружается в...

Открытие директории файла
Мне тут было нечего делать, и я решил написать на Delphi диспетчер задач, ну или его подобие. Я сделал список процессов в TListBox'е,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru