Что нового

Поиск каталога в корневом каталоге без просмотра подкаталогов

Tasolcheg

Новичок
Сообщения
27
Репутация
0
Всем привет.
В какую сторону рыть? Пытаюсь сделать следующее.
есть папка в ней лежат 5 папок. В них всякий мусор который нас не интересует)
хочу узнать имена этих 5 папок без просмотра их содержимого и запихнуть по очереди имя каждой папки в переменную.
Нутром чую что элементарно но не могу понять как это сделать.
 
Автор
T

Tasolcheg

Новичок
Сообщения
27
Репутация
0
InnI сказал(а):

Получилось следующее.
Код:
$FileList=_FileListToArray(@ScriptDir, $sFilePath)
If @error=4 Then
   FileWrite($logfile, "Файл исключений не найден" & @CRLF)
   FileWrite($logfile, "##########################################################################################################" & @CRLF)
   FileClose($logfile)
    Exit
EndIf

И ему плевать есть файл или нет. оно все равно выполняет выполняет команды следующие после Endif, а поидее должен отписать в лог что файла нету и закрыться.


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

Вот что называется сам туго понимаешь что делаешь. я в край запутался( надо собраться.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Tasolcheg,
Я предупреждал.
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 
Автор
T

Tasolcheg

Новичок
Сообщения
27
Репутация
0
НУ скажем не предупреждал, а предупредил.
С удовольствием отредактирую свое сообщение если у меня будет нажиматься кнопка редактирования моего сообщения)
Честное слово исправлю когда получится) Но пока кнопка не работает сообщение останется таким каким и было) А на будущее обязательно буду вставлять код Autoit так, как ты посоветовал))) :IL_AutoIt_1:


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

Возможно это магия) но как только отправил сообщение) смог отредактировать предыдущее сообщение. :beer:
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
Tasolcheg

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

$FileList=_FileListToArray(@DesktopDir, "*", 2) ; массив папок на рабочем столе
If Not IsArray($FileList) Then
    MsgBox (0,"","Массив не сформирован.")
    Exit
EndIf
_ArrayDisplay($FileList,"$FileList")
 
Автор
T

Tasolcheg

Новичок
Сообщения
27
Репутация
0
а почему не работает в таком исполнении?
Код:
#include <file.au3>
#include <File.au3>
$logfile = @ScriptDir & "\log.txt"
$FileList=_FileListToArray(@ScriptDir, "*", 2)
If Not IsArray($FileList) Then
   FileWrite($logfile,"Массив не сформирован" & @CRLF)
    Exit
 EndIf
 FileWrite($logfile, "1" & $FileList & @CRLF)

в логе просто цифра 1
 
Автор
T

Tasolcheg

Новичок
Сообщения
27
Репутация
0
они там есть) почему их названия в лог не попали?)
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
Tasolcheg
Код:
FileWrite($logfile, "1" & $FileList & @CRLF)
Потому что $FileList это массив. Массив это не строка. В данном случае при записи в файл $FileList равносилен "" (пустая строка).

Значения массива в файл записываются поэлементно.

InnI, извиняюсь :smile: Наверное мне стоит включить уведомление о том, что новое сообщение в теме появилось, пока отвечал
 
Автор
T

Tasolcheg

Новичок
Сообщения
27
Репутация
0
и как заставить этот массив поэлементно записаться в файл?)


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

Свое самообразование решил начать с autoit) прошу понять простить и помочь)
 
Автор
T

Tasolcheg

Новичок
Сообщения
27
Репутация
0
Получается массив вообще ни как не записать в файлик?
Тогда мы идем не потому пути) как тогда взять названия всех папок и запихнуть их построчно в файл?
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Tasolcheg [?]
массив вообще ни как не записать в файлик
Вы издеваетесь, что ли? Я же вам в девятом сообщении указал на функцию, которая пишет массив в файл. Добавьте её к своему скрипту
Код:
#include <File.au3>
$logfile = @ScriptDir & "\log.txt"
$FileList=_FileListToArray(@ScriptDir, "*", 2)
If Not IsArray($FileList) Then
  FileWrite($logfile,"Массив не сформирован" & @CRLF)
  Exit
EndIf
_FileWriteFromArray($logfile, $FileList)
 
Сообщения
50
Репутация
-1
а как сделать, что бы скрипт удалял папки записанные в массив?
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Полностью задачу сформулируйте. Что нужно оставить ? Файлы ?
 
Сообщения
50
Репутация
-1
задча такая, что после поиска каталогов и нахождения их, их нужно удалить, но далее с теми же именами создать заново в том же месте.
 
Сообщения
50
Репутация
-1
Спаисбо, работает! , но почему он подкаталоги удаляет и не восстанавливает?
 
Верх