Использование русских имён файлов в сгенерированном HTML

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

JKT
Сообщения: 116
Зарегистрирован: Вт сен 22, 2009 23:01
Откуда: Харьков

Сообщение JKT »

Flasher
Да. Твой вариант скрипта все нормально работает. Это я кипеш поднял, посыпаю голову пеплом, ну незнал я, что редакторы могут кодировку менять по своему
Вообщем все пашет. :)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

JKT
Ну, слава тебе, разобрались. Поздравляю. :)
JKT
Сообщения: 116
Зарегистрирован: Вт сен 22, 2009 23:01
Откуда: Харьков

Сообщение JKT »

Flasher
Кстати. А может где в хелпе по форуму, дабы юзеры как я не наступали на такие-же грабли может надо написать, типа как сохранять код и чем и если че в какой кодировке. Думаю это будет всем (ну неособо разбирающемся) полезно
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

JKT
Для этого нужно создавать топик и крепить тему в подфорум, а этим заведует модеро-админ. С этим к нему. Я уже много чего им предлагал (создание топиков, описаний аля "Прочтите, прежде чем писать", разделение топиков с переносами постов и т.п.), пока всё в бестолку, надоело, пусть другие пробуют...
Могу только на TCKB написать, но проблема в том, что новичок, как правило, туда не смотрит или путается в поиске.
JKT
Сообщения: 116
Зарегистрирован: Вт сен 22, 2009 23:01
Откуда: Харьков

Сообщение JKT »

Flasher
дык ты у тя over9000 сообщений и форсируй тему с капитаном флинтом. Просто если я ему с моими 50 месаг напишу, так он и проигнорит. А ты, как-бы вес имеешь
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

JKT
Ты просто не в теме. Отвечу в личку. Тут оффтоп.
StNff
Сообщения: 14
Зарегистрирован: Вс фев 14, 2016 22:43

Список файлов с путями

Сообщение StNff »

Добрый день!

Flasher, можно ли добавить в список файлов название папки, в которой файл лежит? Либо - путь. Дело в том, что сформировав общий список файлов (их более 500) по Ctrl+B я получил то, что нужно, но без привязки к каким-то координатам. Может быть, включить какой-то параметр в текст до и текст после?

Мой спиосок - это список работ, которые нужно произвести в каком-то конкретном месте. Мест несколько (около 15), некоторые вложены, то есть "цех такой-то"->"участок такой-то".

Может быть я бы и не заморачивался, но эту работу мне придется делать в течении года еще несколько раз :/ А возможно, и больше года. Ранее такие списки формировались в файле xls, что по скорости работы меня никоим образом не устраивало, вручную файлы переносились на лист, фотки уменьшались до маленьких размеров, вставлялись в ячейки, в другой ячейке вписывались комментарии. Работа рутинная и долгая. Хочется как-то оптимизировать процесс.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

StNff
Чтобы к имени добавить путь на 18 строке убираем красное: .GetFileName(F)

Если такой вариант не устроит, то можно сделать рекурсивный обход подкаталогов с маской фильтрации файлов и пути указывать для соотв. групп вложенных файлов.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
StNff
Сообщения: 14
Зарегистрирован: Вс фев 14, 2016 22:43

Сообщение StNff »

Flasher
Для понимания, конечно, гораздо лучше, заметил, что в ссылках пути абсолютные, а не отностильные, можно ли это как-то настроить?

По обходу каталогов и путям для групп файлов, наверное, интересная схема, только пока не понятно, как это будет выглядеть.

На данный момент результат работы скрипта выглядит таким образом:

----------
Список работ:

1.c:\Users\user\OneDrive - user- 2\Deep Сlean March 2016\Pouch filling area\Operators room\Окрасить угол и смежные участки.JPG

2. c:\Users\user\OneDrive - user- 2\Deep Сlean March 2016\Pouch filling area\Operators room\Окрасить фахверк.JPG

3. c:\Users\user\OneDrive - user- 2\Deep Сlean March 2016\Pouch filling area\Operators room\Очистка кронштейна от краски.JPG
***
---------

Думаю, вполне читаемо для исполнителя, но не совсем красиво для отчета...
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

StNff писал(а):можно ли это как-то настроить?
Очистить путь запуска и
[cut="вот это кусок"]

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

  For Each F in Split(.OpenTextFile(List,,,-1).ReadAll, L)
    If F > vbNullString Then
      If .FileExists(F) Then Text = Text & L & "   <li><a href=""" &_
      F & """ div class='l'>" & vbTab & Bef & .GetFileName(F) & Aft & "</a><br></li>"
    End If
  Next
[/cut]заменить на [cut="этот"]

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

  Ln = Len(.GetAbsolutePathName("")) + 2
  Set File = .OpenTextFile(List,,,-1)
  Do : F = File.ReadLine : If .FileExists(F) Then _
    F = Mid(F, Ln) : Text = Text & L & "   <li><a href=""." & F &_
    """ div class='l'>" & vbTab & Bef & F & Aft & "</a><br></li>"
  Loop Until File.AtEndOfStream : File.Close
[/cut]
StNff писал(а):только пока не понятно, как это будет выглядеть
>>>

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

<Путь родительской папки 1>\
   <Имя файла 1>
   <Имя файла 2>

<Путь родительской папки 2>\
   <Имя файла 1>
   <Имя файла 2>
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
StNff
Сообщения: 14
Зарегистрирован: Вс фев 14, 2016 22:43

Сообщение StNff »

Flasher
Да, мне кажется, это будет красивее смотреться, нежели список файлов с полными путями. Определенно, читаемость улучшится. Займет ли эта корректировка много времени? Можно Вас попросить о помощи?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

StNff писал(а):нежели список файлов с полными путями
Я же написал, как сделать относительные.

Попросить всегда можно (даже президента).

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

'========================================================================
' Создание html-файла с гиперссылками на файлы в структуре активной папки
' Условие:   путь запуска - пустой
' Параметры: <фильтр файлов по маске (при необходимости)>
' Пример:    *.txt;*.doc;*.docx;*.xls;*.xlsx;*.ppt
'========================================================================
Option Explicit : Dim Filt, L, Shell, FSO, Path, Ln, FName, Text
With WScript.Arguments
  If .Count Then Filt = .Item(0) Else Filt = "*.*"
End With : L = vbNewLine
Set Shell = CreateObject("Shell.Application")
Set FSO = CreateObject("Scripting.FileSystemObject")
Path = FSO.GetAbsolutePathName("") : Ln = Len(Path) + 2 : FFolder Path
FName = FSO.GetFileName(Path) : Path = Path & "" & FName & ".html"
FSO.CreateTextFile(Path, True, True).Write "<head>" & L & "<br><br>"    &_
"<title>" & FName & "</title>" & L & "<style type='text/css'>" & L      &_
"body {margin: 40px; background-color:#5D7CBA;font-family:Verdana;"     &_
" font-size:16px;}" & L & "h1 {color: #FFD900;font-size:16px;}" & L     &_
"hr {color:#FFE3BF;}" & L & "ol {color: #FFD900;}" & L & "a.l {color:"  &_
"#F8FAD8; text-decoration: none}" & L & "a:hover.l {text-decoration: "  &_
"underline; color:#FFD900}" & "</style>" & L & "</head>" & L & "<body>" &_
L & "<h1 style='text-align: center;'>" & FName & "</h1>" & L & "<hr />" &_
L & "<ol>" & Text & L &"</ol>" & L & "</body>" & L & "</html>"
CreateObject("WScript.Shell").Exec "%COMMANDER_EXE% /O /S /A /L=""" & Path & """"

Sub FFolder(Folder)
  Dim Items, F, T : Set Items = Shell.NameSpace(Folder).Items
   Items.Filter 73920, Filt
   For Each F In Items
    T = T & L & "<li><a href=""." & Mid(F.Path, Ln) & """" & _
    "div class='l'>" & vbTab & FSO.GetFileName(F.Path) & "</a><br></li>"
   Next : If Items.Count Then _
  Text = Text & L & Mid(Folder, Ln) & "<br>" & T & "<br>"
  Items.Filter 73888, "*"
   For Each F In Items : FFolder F.Path : Next
End Sub
[cut="Или так:"]

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

'========================================================================
' Создание html-файла с гиперссылками на файлы в структуре активной папки
' Условие:   путь запуска - пустой
' Параметры: <фильтр файлов по маске (при необходимости)>
' Пример:    *.txt;*.doc;*.docx;*.xls;*.xlsx;*.ppt
'========================================================================

Option Explicit : Dim Filt, L, Shell, FSO, Path, Ln, FName, Text
With WScript.Arguments
  If .Count Then Filt = .Item(0) Else Filt = "*.*"
End With : L = vbNewLine
Set Shell = CreateObject("Shell.Application")
Set FSO = CreateObject("Scripting.FileSystemObject")
Path = FSO.GetAbsolutePathName("") : Ln = Len(Path) + 2 : FFolder Path
FName = FSO.GetFileName(Path) : Path = Path & "" & FName & ".html"
FSO.CreateTextFile(Path, True, True).Write "<head>" & L & "<title>"     &_
FName & "</title>" & L & "<style type='text/css'>" & L & ".l{position:" &_
" absolute; left: 186px;}" & L & "body {margin: 40px; background-color" &_
":#5D7CBA;font-family:MS Reference Sans Serif; font-size:16px;}"  & L   &_
"h1 {color: #FFD900;font-size:16px;}" & L & "hr {color:#FFE3BF;}" & L   &_
"li {list-style-type: none;}" & L & "ol {counter-reset: list1; color:"  &_
" #FFD900;}" & L & "ol li:before {counter-increment: list1; content: "  &_
"counter(list1) "". "";}" & L & "ol ol { counter-reset: list2;}"  & L   &_
"ol ol li:before {counter-increment: list2;content: counter(list1) """  &_
"."" counter(list2);}" & L & "a.l {color:#F8FAD8; text-decoration: "    &_
"none}" & L & "a:hover.l {text-decoration: underline; color:#FFD900}"   &_
"</style>" & L & "</head>" & L & "<body>" & L & "<br><br><h1 style="    &_
L & "'text-align: center;'>" & FName & "</h1>" & L & "<hr />" & L       &_
"<ol>" & Text & L &"</ol>" & L & "</body>" & L & "</html>"
CreateObject("WScript.Shell").Exec "%COMMANDER_EXE% /O /S /A /L=""" & Path & """"

Sub FFolder(Folder)
  Dim Items, P, F, T
  Set Items = Shell.NameSpace(Folder).Items
  Items.Filter 73920, Filt
  If Folder = Path Then P = ".." Else P = Mid(Folder, Ln)
  For Each F In Items
    T = T & L & "      <li><a href=""." & Mid(F.Path, Ln) & _
    """div class='l'>" & FSO.GetFileName(F.Path) & "</a></li>"
  Next : If Items.Count Then Text = Text & L & "  <li>"& P &_
  L & "    <ol>" & T & L & "    </ol>" & L & "  </li><br>"
  Items.Filter 73888, "*"
  For Each F In Items : FFolder F.Path : Next
End Sub
[/cut]
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
StNff
Сообщения: 14
Зарегистрирован: Вс фев 14, 2016 22:43

Сообщение StNff »

Flasher, ОГРОМНОЕ СППАСИБО, кажется, шефа устроило. Спросил, в какой программе я это делал :) Теперь осталось продумать, как можно сделать красиво разделение ссылок на фото "было" и "стало". Думаю, может просто параллельно создать аналогичную папку, куда закидывать файлы с теми же самыми названиями. Затем сводить 2 странички в одну таблицу, в соседние колонки (строки должны совпасть). Еще есть задача добавить даты реализации, может, галочку "устранено". Возможно, превью фотки. В общем - думок полно. :)
Пока же, отлично!

Сейчас пытаюсь разобраться с microsoft share point, добавить на личную страничку созданную скриптом html-страничку и расшаренные фото из папки на one drive.

В общем, еще раз спасибо!
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

StNff, какой из двух больше подошёл?
StNff писал(а):Спросил, в какой программе я это делал :)
Полюбопытствую спросить, и какой же последовал ответ? :)
StNff писал(а):как можно сделать красиво разделение ссылок на фото "было" и "стало"
Друг под другом разным цветом или рядом писать (исходный), например, если они в одной папке. Только сперва нужны отличия в имени.
StNff писал(а):Еще есть задача добавить даты реализации, может, галочку "устранено".
Даты откуда брать (создания, модификации, снимков)? Про "устранено" не в курсе.
StNff писал(а):Возможно, превью фотки.
Я боялся, что дойдёт до "сделайте за меня страничку сайта и лучше как портфолио". )
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
StNff
Сообщения: 14
Зарегистрирован: Вс фев 14, 2016 22:43

Сообщение StNff »

Flasher, я взял второй код.
Насчет программы я ответил честно, прибавив, дома не спал, переписываясь и моля о помощи форум (все же надо показать свою ответственность). Развеселило меня также и то, что мой формат отчета всерьез назвали инновационным. :)
Я тоже вначале подумал, можно рядом вставлять фотки с теми же названиями и пометкой в скобках, "устранено".

А насчет дат, точно, можно вставлять либо дату создания, либо дату модификации! Отличная идея! А долго делать? (Черт возьми, мне уже стыдно о чем-то просить).

Сайт за меня? А что, и эта идея классная :) тут, конечно, речь идет совсем не о портфолио :) рутинная работа, не более того. Если оформлю страничку (а я ее обязательно оформлю), обязательно кину Вам ее адрес, полюбуетесь на свое детище в работе ;) И еще раз, спасибо! Очень здорово все получилось!
Ответить