'================================================================
' Создание 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
Flasher
Спасибо уважаемый!
Но проблемка такая. При создании списка файлов по вашему скрипту создается html файл с неприятным именем РЎРїРёСЃРѕРє_файлов.html. А так при запуске этого файла все нормально имена отражаются, только заголовок из этой абракадабры. Может у меня что-то в системе нетак с кодировками? Как победить сие? (пользую Гугл Хром)
Хм. Странно. Я вроде как с проблемами кодировки разобрался. Проверял на разных браузерах, в т.ч. на SRWare Iron (хромовский движок).
1. Код сейчас был сохранён или в день выкладки?
2. Параметр %WL?
3. Заголовок на странице или в строке заголовка окна?
1. только, что скопировал код
2 параметры %WL "%T"
3 в строке адреса браузера file:///F:/111111/РЎРїРёСЃРѕРє_файлов.html
на самой странице РЎРїРёСЃРѕРє_файлов (потом линия и все файлы. Пробовал брать файлы и только на латинице и вперемешку) внутри страницы имена файлов, хоть на латинице хоть на могучем все нормально отображаются.
1. ХР SP3
2. А я незнаю. Пока никаких траблов и нигде не замечал. А где можно и как глянуть юникодная или нет?
Погодьте. А в каком коде надо сохранять в текстовом редакторе? може там че напутал? Я просто копирнул текст скрипта и в блокноте сохранил под vbs (раньше проблем небыло)
Добавлено спустя 12 минут:
Andrey_A
У тебя в скрипте имя html как SPISOK, а тут видно на кирилице
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
---------------------------
ОК
---------------------------
1. ТС 7.56a
2. нет. Заменил -1 на -2 никаких квадратов
мне чето кажется, что хром как-то копирует текст нетак. Сейчас зайду на эту страницу и скопирую текст скрипта из фаерфокса.
Flasher
неа. Зашел с фаера, копирнул. Сделал по новому. Тажесамая трабла. так-что брауз тут непричем. Попробуй методом тыка в скрипте заменить название, оно одинаковое на латынь, може поможет определить проблему. Чесс слово, для моих надобностей, я-бы и в текстовике просто поправил-бы результат, но ведь мы так и не выяснили ПОЧЕМУ это происходит, а сие думаю некоторым пригодится, если мы решим сию траблу