Страница 7 из 7

Добавлено: Чт сен 22, 2011 22:01
Flasher
Последний скрипт не пробовал. Там какие-то заморочки с ярлыками, не очень пока понял, тему не шерстил. С предыдущим вроде порядок.

Добавлено: Пн сен 26, 2011 13:16
Batya
Нда... Хоть в отпуск не ходи :)))

angry_dog
Я уже сам запутался в предлагаемых изменениях. Что у тебя в 181-ой строке скрипта?

Добавлено: Пн сен 26, 2011 16:37
Flasher
Batya
Судя по всему, это:

Код: Выделить всё

   For Each Menu1 in SubFold.Files

Добавлено: Вт сен 27, 2011 14:22
angry_dog
Batya писал(а):Нда... Хоть в отпуск не ходи :)))
Что у тебя в 181-ой строке скрипта?
Прости, Батя за отпуск) в 181 строке:
For Each Menu1 in SubFold.Files

Добавлено: Чт сен 29, 2011 12:04
Batya
angry_dog
Вместо этой строки пропиши:

Код: Выделить всё

Dim FF
On Error Resume Next
Set FF = SubFold.Files
If (Err.Number > 0) Or (Not IsObject(FF)) Then FF = Array()
On Error GoTo 0
For Each Menu1 in FF

Добавлено: Вс окт 02, 2011 13:24
angry_dog
Batya писал(а):Вместо этой строки пропиши:
Если в "параметры" не ставить "0", не происходит ничего. С "0" в параметрах ошибка:
---------------------------
Windows Script Host
---------------------------
Сценарий: C:\temp\789.vbs
Строка: 186
Символ: 2
Ошибка: Разрешение отклонено
Код: 800A0046
Источник: Ошибка выполнения Microsoft VBScript

---------------------------
ОК
---------------------------

Добавлено: Ср окт 05, 2011 11:10
Batya
angry_dog писал(а):Если в "параметры" не ставить "0", не происходит ничего.
Так и должно быть. В этом режиме только меняется ключ реестра.
angry_dog писал(а):С "0" в параметрах ошибка:
Странно. Давай, попробуем вместо (в изначальном скрипте)

Код: Выделить всё

  For Each Menu1 in SubFold.SubFolders 
    k = k + 1 
    ProcessFolder F1, Menu1, k, NewBar 
  Next 
  For Each Menu1 in SubFold.Files 
    If (Menu1.Attributes and Hidden) <> Hidden Then  
      k = k + 1 
      ProcessFile F1, Menu1, k 
    End If 
  Next 
записать

Код: Выделить всё

  Dim FF 
  On Error Resume Next 
  Set FF = SubFold.SubFolders 
  On Error GoTo 0
  If IsObject(FF) Then
    For Each Menu1 in FF
      k = k + 1 
      ProcessFolder F1, Menu1, k, NewBar 
    Next 
  End If
  On Error Resume Next 
  Set FF = SubFold.Files 
  On Error GoTo 0
  If IsObject(FF) Then
    For Each Menu1 in FF 
      If (Menu1.Attributes and Hidden) <> Hidden Then  
        k = k + 1 
        ProcessFile F1, Menu1, k 
      End If 
    Next
  End If
В дальнейшем кроме текста ошибки пиши, что у тебя в строке, на которой произошла ошибка.