Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   error variable used without being declared (http://forum.oszone.net/showthread.php?t=196986)

sattva 18-01-2011 21:00 1591728

error variable used without being declared
 
Помогите разобраться, почему возникает эта ошибка: "error variable used without being declared"
Скрипт должен записать в INI-файл MySetupWin7Installer.ini" в секцию "ListImage" все найденые файлы в $Drive & '\' & $tag


Код:

Global $tag='Wim'
$var = DriveGetDrive( "ALL" ); Определяем количества и имена всех дисков в системе
If NOT @error Then
                For $i = 1 to $var[0]
                If FileExists($var[$i]& '\' & $tag) Then
                $Drive=$var[$i]; Ищем имя диска который содержит папку "Wim"
                EndIf
        Next
EndIf


#Include <File.au3>
#Include <Array.au3>
$FileList=_FileListToArray($Drive & '\' & $tag,"*",1)
If @Error=4 Then
        MsgBox (0,"","Файлы отсутсвуют в $Drive & '\' & $tag")
        Exit
EndIf

;Вносим изменения в INI-файл
dim $n=0
For $i = 1 to $FileList[0]
$n=$n + 1
If FileExists("x:\MySetupWin7Installer.ini") Then
IniWrite ( "x:\MySetupWin7Installer.ini", "ListImage", $n, $Drive & '\' & $tag & '\' & $FileList[$i])
EndIf
Next


sattva 18-01-2011 21:35 1591755

разобрался: в корне диска отсутствовала искомая директория "Wim"
как установить условие, если данная директория не найдена, то завершить работу скрипта.

madmasles 18-01-2011 21:37 1591757

sattva,
Попробуйте так:
Код:

#include <File.au3>

$sDir = 'Wim'
$sIniFile = @ScriptDir & '\MySetupWin7Installer.ini'
$sSection = 'ListImage'
$q = 0

$aDrives = DriveGetDrive('ALL')
If @error Then
    MsgBox(16, 'Error', 'Error')
    Exit
EndIf

For $i = 1 To $aDrives[0]
    If FileExists($aDrives[$i] & '\' & $sDir) Then
        $aFiles = _FileListToArray($aDrives[$i] & '\' & $sDir, "*", 1)
        If Not @error Then
            For $j = 1 To $aFiles[0]
                $q += 1
                IniWrite($sIniFile, $sSection, $q, $aDrives[$i] & '\' & $sDir & '\' & $aFiles[$j])
            Next
        EndIf
    EndIf
Next


Creat0R 19-01-2011 00:39 1591874

sattva
Предупреждение за нарушение правил форума, пункт 2.7 и пункт 3.19:

Цитата:

2.7: В заголовке темы обязательно обозначайте название предмета, которого касается вопрос, а в теле сообщения максимально подробно опишите проблему (приведите аппаратную/программную конфигурацию, а также изложите ситуацию, в которой возникает проблема)...
Подробнее о принципах создания тем читайте в этом документе и Правилах форумов.

3.19: Запрещается... Создавать темы, имеющие неинформативные или состоящие из заглавных букв заголовки (например, "Помогите!", "HELP!", "У меня проблема"). Такие темы будут закрыты или перенесены в Тест-форум. Если вы хотите вернуть перенесенную тему обратно, пока ее не закрыли в Тест-форуме, измените ее заголовок на осмысленный и напишите об этом в теме.
Переименуйте пожалуйста тему (Как переименовать свою тему?).


Время: 14:15.

Время: 14:15.
© OSzone.net 2001-