Что нового

как можно присвоить переменной $path несколько значений

Weekender

Новичок
Сообщения
5
Репутация
0
Подскажите пожалуйста, каков будет синтаксис если необходимо в переменной $path указать несколько путей к определенным папкам???Заранее благодарен.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
{TopicNameWarn}
 

sforce5

Олл фо ЛулзЪ
Сообщения
160
Репутация
41
Если несколько путей, то можно создать массив:

Код:
Global $path[3] ;4 пути
$path[0] = "C:\Program Files"
$path[1] = "C:\Temp"
$path[2] = "C:\Windows"
$path[3] = "C:\Users"



Добавлено:
Сообщение автоматически объединено:

Ну или можно пойти по более тупому умному пути - разделить пути знаком "|", а затем StringSplit'нуть

Код:
Global $path = "C:\Temp|C:\Users"
StringSplit($path, "|")
 
Автор
W

Weekender

Новичок
Сообщения
5
Репутация
0
а как прикрутить в скрипте? чтобы поиск осуществлялся именно в этих папках и далее осуществлялось удаление мусора с расширением - tmp

Код:
#include <File.au3>
#include <Array.au3>


Global $path[3] ;4 пути
$path[0] = "C:\Temp"
$path[1] = "C:\Tmp"
$path[2] = "C:\ShareFolder"



$aReturn = _FileSearch($path, '*.tmp')

For $i = 1 To UBound($aReturn) - 1 
        ;FileDelete($aReturn[$i])
   FileRecycle($aReturn[$i])
Next

ExitLoop 
    EndSelect   
    Sleep(10000) ; Пауза 10секунд
 
WEnd	

_DirRemoveEmptyTime($path[3])


Func _FileSearch($sPath, $sFileMask)
    Local $sOut = StringToBinary("0" & @CRLF, 2), $aOut
    Local $hDir = Run(@ComSpec & ' /U/C DIR "' & $sPath & '\' & $sFileMask & '" /S/B/A-D', @SystemDir, @SW_HIDE, 6)

    While 1
        $sOut &= StdoutRead($hDir, False, True)
        If @error Then ExitLoop
    WEnd

    $aOut = StringRegExp(BinaryToString($sOut, 2), "[^\r\n]+", 3)
    If @error Then Return SetError(1)

    $aOut[0] = UBound($aOut) - 1
    Return $aOut
EndFunc   ;==>_FileSearch
 

sforce5

Олл фо ЛулзЪ
Сообщения
160
Репутация
41
Примерно такЪ:

Код:
#include <File.au3>
#include <Array.au3>

Global $path[3]
$path[0] = "C:\Temp"
$path[1] = "C:\Tmp"
$path[2] = "C:\ShareFolder"

For $i = 0 to UBound($path)-1
	$sSearch = _FileSearch($path[$i], "*.tmp")
	If $sSearch[0] <> 0 Then
		For $a = 1 to $sSearch[0]
			;FileDelete($sSearch[$a])
		Next
	EndIf
Next

Func _FileSearch($initdir, $searchterm="*.*")
    Local  $dirs[1] = [$initdir],  $results[1] = [0]
    While True
        $tempdirs = _FileListToArray($dirs[0], "*.*", 2)
        $tempfiles = _FileListToArray($dirs[0], $searchterm, 1)
        For $i = 1 To UBound($tempfiles) - 1
            _ArrayAdd($results, $dirs[0] & "\" & $tempfiles[$i])
            $results[0] += 1
        Next
        For $i = 1 To UBound($tempdirs) - 1
            _ArrayAdd($dirs, $dirs[0] & "\" & $tempdirs[$i])
        Next
        If UBound($dirs) > 1 Then
            _ArrayDelete($dirs, 0)
        Else
            ExitLoop
        EndIf
    WEnd
    Return $results
EndFunc
 

sforce5

Олл фо ЛулзЪ
Сообщения
160
Репутация
41
Название темы измени или тебя ждёт [censored] кара, возможно публичная
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Weekender
Используй тэги форматирования кода, выделив код и нажав на кнопку
autoit.gif



Добавлено:
Сообщение автоматически объединено:

Weekender
Если вопрос исчерпан, отмечать тему решенной.
Если есть другие вопросы, создай новую тему.
 
Автор
W

Weekender

Новичок
Сообщения
5
Репутация
0
Я понял, спасибо за рекомендации, тему можно считать закрытой.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Weekender
это были не рекомендации а инструкции к действию. пож-та, не пренебрегай ими и выполни все требования, обозначенные в моих постах выше.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Weekender
Закрывать не надо, надо отметить ее решенной. внизу найдешь кнопку с соответствующим текстом. так же при редактировании своего самого первого сообщения можешь так же изменить название темы, согласно правилам, ссылку на которую я дал в посте http://autoit-script.ru/index.php?topic=2458.msg17862#msg17862
 
Верх