Страница 2 из 5

Добавлено: Чт окт 20, 2011 03:40
Flasher
Решил немного прилизать (от делать нечего).

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

'================================================================
' Создание html-файла с гиперссылками на выделенные файлы
' Параметры: %WL "<путь назначения>" "<текст до>" "<текст после>"
' Пример:    %WL "%T"
'================================================================
With WScript.Arguments
  If .Count = 0 Then WScript.Quit
  List  = .Item(0)
  TDir  = .Item(1)
  If .Count > 2 Then Bef = .Item(2)
  If .Count = 4 Then Aft = .Item(3)
End With
L = vbNewLine
With CreateObject("Scripting.FileSystemObject")
  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
  .OpenTextFile(TDir & "Список_файлов.html", 2, True, -1).Write "<head>" &_
  L & "<title>Cсылки на файлы</title>" & L & "<style type='text/css'>" & L &_
  "body {background-color:#5D7CBA;font-family:Vendana; 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;'>Ссылки на файлы</h1>" &_
  L & "<hr />" & L & "<ol>" & Text & L &"</ol>" & L & "</body>" & L & "</html>"
End With

Добавлено: Пн окт 24, 2011 22:04
JKT
Flasher
Спасибо уважаемый!
Но проблемка такая. При создании списка файлов по вашему скрипту создается html файл с неприятным именем РЎРїРёСЃРѕРє_файлов.html. А так при запуске этого файла все нормально имена отражаются, только заголовок из этой абракадабры. Может у меня что-то в системе нетак с кодировками? Как победить сие? (пользую Гугл Хром)

Добавлено: Пн окт 24, 2011 22:19
Flasher
Хм. Странно. Я вроде как с проблемами кодировки разобрался. Проверял на разных браузерах, в т.ч. на SRWare Iron (хромовский движок).
1. Код сейчас был сохранён или в день выкладки?
2. Параметр %WL?
3. Заголовок на странице или в строке заголовка окна?

Добавлено: Пн окт 24, 2011 22:33
JKT
1. только, что скопировал код
2 параметры %WL "%T"
3 в строке адреса браузера file:///F:/111111/РЎРїРёСЃРѕРє_файлов.html
на самой странице РЎРїРёСЃРѕРє_файлов (потом линия и все файлы. Пробовал брать файлы и только на латинице и вперемешку) внутри страницы имена файлов, хоть на латинице хоть на могучем все нормально отображаются.

Добавлено: Пн окт 24, 2011 22:34
Andrey_A
JKT у меня скрипт Flasher работает нормально, без крокозябр

Добавлено: Пн окт 24, 2011 22:43
Flasher
JKT
1. Win XP/7? SPx - ?
2. Локаль в Юникод не переведена?

Добавлено: Пн окт 24, 2011 22:57
JKT
1. ХР SP3
2. А я незнаю. Пока никаких траблов и нигде не замечал. А где можно и как глянуть юникодная или нет?
Погодьте. А в каком коде надо сохранять в текстовом редакторе? може там че напутал? Я просто копирнул текст скрипта и в блокноте сохранил под vbs (раньше проблем небыло)

Добавлено спустя 12 минут:

Andrey_A
У тебя в скрипте имя html как SPISOK, а тут видно на кирилице

Добавлено: Пн окт 24, 2011 23:04
Flasher
JKT писал(а):А где можно и как глянуть юникодная или нет?
В XP это тут делается, насколько я помню: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,3
Если такой скрипт выполнить:

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

MsgBox GetLocale & vbNewLine & ScriptEngineMajorVersion &_
"." & ScriptEngineMinorVersion & "." & ScriptEngineBuildVersion
что покажет?
JKT писал(а):А в каком коде надо сохранять в текстовом редакторе? може там че напутал? Я просто копирнул текст скрипта и в блокноте сохранил под vbs
Да в общем-то, не принципиально. Я бы указал на это. Но попробывать сохранить в Юникод (если из обычного блокнота) можно.
JKT писал(а):а тут видно на кирилице
Для русских юзеров, т.с.

Добавлено: Пн окт 24, 2011 23:13
JKT
выполнил
пишет:

1049
5.8.23000

Добавлено: Пн окт 24, 2011 23:18
Flasher
Вроде всё ок. И я там дописал выше.
1. Какой заголовок показывают другие браузеры?
2. Версия Хрома какая?
3. Имя файла и в ТС с кракозябрами?

Добавлено: Вт окт 25, 2011 00:11
JKT
Flasher

1. ФаерФокс : Строка адреса ; file:///F:/111111/РЎРїРёСЃРѕРє_файлов.html Заголовок самой страницы те-же кракозяблы РЎРїРёСЃРѕРє_файлов
ОПЕРА: Сттрока адреса: file://localhost/F:/111111/РЎРїРёСЃРѕРє_файлов.html ЗАГОЛОВОК самой страницы ЭТО-же самая абракадабра. Имена файлов на самой странице шо в кирилице, шо на латинице - ВСЕ ОК

2. Хром версия 14.0.835.163
3. Имя в ТС на панеле РЎРїРёСЃРѕРє_файлов.html

Добавлено спустя 11 минут:

Незаметил. щас попробую в юникод сохранить

Добавлено спустя 7 минут:

сохранил в UTF-8
после применения с темеже "параметрами скрипта" выдало:
---------------------------
Windows Script Host
---------------------------
Сценарий: D:\Portable Soft\TCPU\scripts\1111111111111111111111111111111111111.vbs
Строка: 1
Символ: 1
Ошибка: Недопустимый знак
Код: 800A0408
Источник: Ошибка компиляции Microsoft VBScript

---------------------------
ОК
---------------------------

клавиша запала, насчет имени 1111......

Добавлено: Вт окт 25, 2011 00:15
Flasher
Странное дельце.
1. Версия TC?
2. В скрипте массово заменить (Ctrl+H в блокноте) -1 на -2, сохранить. После выполнения квадраты покажет?
JKT писал(а):сохранил в UTF-8
Я разве про UTF-8 что-то писал?

Добавлено: Вт окт 25, 2011 00:33
JKT
1. ТС 7.56a
2. нет. Заменил -1 на -2 никаких квадратов
мне чето кажется, что хром как-то копирует текст нетак. Сейчас зайду на эту страницу и скопирую текст скрипта из фаерфокса.

Добавлено: Вт окт 25, 2011 00:35
Flasher
JKT
Тогда это проблема буфера, и в тексте скрипта эти кракозябры уже должны быть.
JKT писал(а):никаких квадратов
Забыл уточнить - в заголовке.

Добавлено: Вт окт 25, 2011 00:42
JKT
Flasher
неа. Зашел с фаера, копирнул. Сделал по новому. Тажесамая трабла. так-что брауз тут непричем. Попробуй методом тыка в скрипте заменить название, оно одинаковое на латынь, може поможет определить проблему. Чесс слово, для моих надобностей, я-бы и в текстовике просто поправил-бы результат, но ведь мы так и не выяснили ПОЧЕМУ это происходит, а сие думаю некоторым пригодится, если мы решим сию траблу