Автор Тема: Список файлов в директории с записью в txt  (Прочитано 1044 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ev83gen [?]

  • Новичок
  • *
  • Сообщений: 5
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Добрый день, со au3 вообще не знаком, но вроде понимаю о чем в скриптах речь идет. Проблема следующая: есть один скрипт, который отлично работает когда его ручками запускаешь, а если через планировщик Win, то нет ожидаемого результат. Вот бы мне в него строчку с кодом добавить, а я не могу.
Так что прошу помощи у всех сочувствующих, нужен код который выведет в текстовый файл список рядом лежащих файлов(содержание папки, в которой лежит сам скрипт).
   Очень прошу помощи, а то у меня встал переход с win 2003

Русское сообщество AutoIt

Список файлов в директории с записью в txt
« Отправлен: Март 23, 2017, 12:16:13 »

Помечен как лучший ответ пользователем ev83gen Отправлен Март 23, 2017, 13:01:14

Оффлайн hedji [?]

  • Новичок
  • *
  • Сообщений: 90
  • Репутация: 14
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
#include <File.au3>
$filelist = _FileListToArray(@ScriptDir, "*", 1)
_FileWriteFromArray(@ScriptDir & "\filelist.txt", $filelist)
 


Оффлайн ev83gen [?]

  • Новичок
  • *
  • Сообщений: 5

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Спасибо большое, прям выручил :)


Добавлено: Март 23, 2017, 13:03:52
А не подскажешь где по нему документацию глянуть, что бы без воды, ну типа справочника html что ли

Оффлайн hedji [?]

  • Новичок
  • *
  • Сообщений: 90
  • Репутация: 14
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Русская справка тык сюда
В любой кусок кода AutoIt на форуме можно кликнуть и откроется нужный раздел справки.
« Последнее редактирование: Март 23, 2017, 16:14:10 от hedji »

Русское сообщество AutoIt

Re: Список файлов в директории с записью в txt
« Ответ #3 Отправлен: Март 23, 2017, 13:33:05 »

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3679
  • Репутация: 934
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
OffTopichedji
Вот так оформляется ссылка.
[url=https://autoit-script.ru/autoit3_docs/index.htm]Русская справка[/url]

Скорблю и помню.




Оффлайн hedji [?]

  • Новичок
  • *
  • Сообщений: 90
  • Репутация: 14
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Ссылку поправил.

Оффлайн ev83gen [?]

  • Новичок
  • *
  • Сообщений: 5

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
А можно еще вопрос, может подскажите, а то к врачу скоро пойду.
У есть скрипт, который обращается в рядом лежащий файл ini, согласно ему заходит в 1с, делает выгрузку и закрывает 1с.
В ini говорится кол-во баз, пароль логин и путь к базам.  этот скрипт сейчас выполняется на win 2003 через планировщик все работает.
  Я перенес его на win2008, если скрипт запустить ручками, то все работает, а вот если через планировщик, то результата нет и в логах он определяет количество
баз 0, я подумал что он файл ini не видит, вот тут мне и понадобилась ваша помощь(спасибо за то что быстро отреагировали). Вставил код в скрипт, запустил, оказывается файл ini видит, проверку свободного места делает, а вот количество баз равно 0, а у меня там 49. Почему так планировщик влияет? у меня голова кипит, не встречались с таким?

Оффлайн hedji [?]

  • Новичок
  • *
  • Сообщений: 90
  • Репутация: 14
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Вручную вы запускаете от своего имени, а планировщик от имени системы, отсюда могут быть грабли с:
- права доступа к самому файлу
- права доступа к папке с файлом
- пути к файлу и в самом скрипте, завязанные на учетку

Проверьте права доступа, замените все относительные пути на полные, желательно без кириллицы.


Русское сообщество AutoIt

Re: Список файлов в директории с записью в txt
« Ответ #7 Отправлен: Март 23, 2017, 18:44:31 »

Оффлайн ev83gen [?]

  • Новичок
  • *
  • Сообщений: 5

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
не понял на счет:

Цитировать
- пути к файлу и в самом скрипте, завязанные на учетку

В коде вроде нет привязке к учетке, но сейчас просмотрю еще раз, могу полный код показать.
А планировщик запускает от имени доменного Администратора, но сейчас все просмотрю еще раз.
да вообще скрипт то в файл заходит, так как у меня там есть проверка свободного места. Сейчас скину начало скрипта и логи.


Добавлено: Март 24, 2017, 07:08:07
вот начало скрипта:

Код: AutoIt [Выделить]
#include <File.au3>
#include <Date.au3>
$year=@YEAR
$week=_WeekNumberISO(@YEAR,@MON,@MDAY)
if $week < 10 and stringlen($week)=1 then $week='0' & $week
$day=@WDAY-1
if $day=0 then $day=7
$Year = @YEAR
$kolvo=iniread("megavigr.ini","settings","kolvo","0")
$freespace=iniread("megavigr.ini","settings","freespace","1024")
$syslogfile=iniread("megavigr.ini","settings","syslogfile","c:\1.log")
$filelist = _FileListToArray(@ScriptDir, "*", 1)
_FileWriteFromArray(@ScriptDir & "\filelist.txt", $filelist)
_FileWriteLog($syslogfile,"MegaVigr start at " & _Now())
_FileWriteLog($syslogfile,"kolvo is " & $kolvo)
_FileWriteLog($syslogfile,"freespace is " & $freespace)
$default_name=iniread("megavigr.ini","0","name","pusto")
$default_path=iniread("megavigr.ini","0","path","pusto")
$default_user=iniread("megavigr.ini","0","user","user")
$default_pass=iniread("megavigr.ini","0","pass","pass")
$default_vigrpath=iniread("megavigr.ini","0","vigrpath","pusto")
$default_vigrname=iniread("megavigr.ini","0","vigrname","pusto")
$default_logneed=iniread("megavigr.ini","0","logneed","1")
$default_logpath=iniread("megavigr.ini","0","logpath","pusto")
for $i=1 to $kolvo


Вот файл ini:
 
[settings]
kolvo=49
freespace=1024
syslogfile=c:\1.log
[0]
name=дефолтовые настройки
path=
user=Администратор
pass=111111111
vigrpath=z:\megavigr\zip\
vigrname=
logneed=1
logpath=z:\megavigr\log\
[1]
name=База1
path=O:\1c_base\Base1.buh\
user=
pass=
vigrpath=
vigrname=база1
logneed=
logpath=
[2]
name=База2
path=O:\1c_base\Bse2\
.................

а вот запись в логах из под планировщика:

2017-03-23 15:40:39 : MegaVigr start at 23.03.2017 15:40:39
2017-03-23 15:40:39 : kolvo is 0
2017-03-23 15:40:39 : freespace is 1024
2017-03-23 15:41:46 : MegaVigr start at 23.03.2017 15:41:46
2017-03-23 15:41:46 : kolvo is 0
2017-03-23 15:41:46 : freespace is 1024
2017-03-23 19:25:01 : MegaVigr start at 23.03.2017 19:25:01
2017-03-23 19:25:01 : kolvo is 0
2017-03-23 19:25:01 : freespace is 1024
2017-03-23 19:25:47 : MegaVigr start at 23.03.2017 19:25:47
2017-03-23 19:25:47 : kolvo is 0
2017-03-23 19:25:47 : freespace is 1024

а вот запись в логах если ручками:

2017-03-24 09:14:24 : MegaVigr start at 24.03.2017 9:14:24
2017-03-24 09:14:24 : kolvo is 49
2017-03-24 09:14:24 : freespace is 1024
2017-03-24 09:14:24 : starting  1 job of 49
2017-03-24 09:14:24 :  job 1, create C:\Users\836D~1\AppData\Local\Temp\megavigr.prm
2017-03-24 09:14:24 :  job 1, write C:\Users\836D~1\AppData\Local\Temp\megavigr.prm
2017-03-24 09:14:24 :  job 1, close C:\Users\836D~1\AppData\Local\Temp\megavigr.prm
2017-03-24 09:14:24 :  job 1, make dir for vigruzka с:\megavigr\zip\2017_12\
2017-03-24 09:14:24 :  job 1, check free space on drive с:\
2017-03-24 09:14:24 :  job 1, check free space on drive с:\ failed!
2017-03-24 09:14:24 :  job 1, save log to с:\megavigr\log\Buh1.txt
2017-03-24 09:14:24 : starting  2 job of 49
2017-03-24 09:14:24 :  job 2, create C:\Users\836D~1\AppData\Local\Temp\megavigr.prm
2017-03-24 09:14:24 :  job 2, write C:\Users\836D~1\AppData\Local\Temp\megavigr.prm
2017-03-24 09:14:24 :  job 2, close C:\Users\836D~1\AppData\Local\Temp\megavigr.prm
2017-03-24 09:14:24 :  job 2, make dir for vigruzka с:\megavigr\zip\2017_12\

Вот, теперь проверка свободного места не проходит, а место есть, что такое......

Скрипт скомпилированный в exe, права на папку и на файл явно указал Администратора. Запуск ручками имею ввиду клик по exe, а вот с планировщика, даже если нажать на задание правой кнопкой мыши и инициировать задание, то вышеописанная проблема.
« Последнее редактирование: Март 24, 2017, 07:23:46 от ev83gen »

Оффлайн hedji [?]

  • Новичок
  • *
  • Сообщений: 90
  • Репутация: 14
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
$kolvo=iniread("megavigr.ini","settings","kolvo","0") ;если не найдено, вернуть 0
$freespace=iniread("megavigr.ini","settings","freespace","1024") ;если не найдено, вернуть 1024
 

ровно столько и возвращает.
сделайте:
Код: AutoIt [Выделить]
$kolvo=iniread("megavigr.ini","settings","kolvo","0")
$freespace=iniread("megavigr.ini","settings","freespace","0")
 

если в логах будет два нуля, значит ini не читается.

Оффлайн ev83gen [?]

  • Новичок
  • *
  • Сообщений: 5

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Поменял, два нуля выдает, и куда копать, как планировщик так извращенно его запускает? Ладно сейчас попробую абсолютный путь указать.
кстати так правильно будет?

Код: AutoIt [Выделить]
$kolvo=iniread("c:\megavigr.ini","settings","kolvo","0")



Добавлено: Март 24, 2017, 11:26:32
Вот, скрипт отработал. Я просто в планировщике рабочую папку не указал, прописал папку и все пошло. Спасибо большое за помощь и за терпение. Надеюсь в следующий раз внимательнее буду.
« Последнее редактирование: Март 24, 2017, 11:26:32 от ev83gen, Причина: Объединение сообщений »

Оффлайн Сандлер [?]

  • Новичок
  • *
  • Сообщений: 4
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Список файлов в директории с записью в txt
« Ответ #11, Отправлен: Апрель 16, 2017, 19:06:29 »
Спасибо, полезно.

Русское сообщество AutoIt

Re: Список файлов в директории с записью в txt
« Ответ #11 Отправлен: Апрель 16, 2017, 19:06:29 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
1 Ответов
12357 Просмотров
Последний ответ Ноябрь 15, 2010, 14:47:12
от CreatoR
7 Ответов
5007 Просмотров
Последний ответ Ноябрь 18, 2010, 09:20:30
от akoulev
2 Ответов
2881 Просмотров
Последний ответ Октябрь 18, 2011, 17:05:09
от Math
2 Ответов
1482 Просмотров
Последний ответ Февраль 10, 2013, 19:54:14
от general66
10 Ответов
2983 Просмотров
Последний ответ Май 07, 2013, 00:20:26
от komorov74
4 Ответов
850 Просмотров
Последний ответ Март 31, 2014, 06:21:49
от MnM
8 Ответов
2590 Просмотров
Последний ответ Февраль 10, 2015, 02:15:17
от lesandr
8 Ответов
1678 Просмотров
Последний ответ Март 14, 2016, 12:52:07
от mef-t
2 Ответов
385 Просмотров
Последний ответ Октябрь 25, 2016, 08:08:25
от Alofa
4 Ответов
450 Просмотров
Последний ответ Ноябрь 02, 2016, 16:37:28
от RavdonikaS