Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

Firefox » Проблема с локальными файлами и русскими именами » 14-03-2005 21:26:28

Rouslan
Это нормально и просмотру не мешает: папка-то открывается. Как ты верно подметил, меняются нелатинские символы на их шестнадцатеричные значения. Скрипт создан для открытия локальных файлов с любыми именами. "Недопустимые" символы в URL перекодируются шестнадцатеричными значениями.
Открой любую веб-страницу из файл-менеджера (проводника) и опиши результат. Гипертекст должен открыться в лисе с конвертированием нелатинских символов в шестнадцатеричные коды.
К лису можно (нужно) привязать и другие типы веб-страниц, например, SHTML.

Firefox » Проблема с локальными файлами и русскими именами » 13-03-2005 21:59:32

Rouslan
Запускай последний скрипт, в нем есть обработчик ошибок. У тебя должно быть право редактирования реестра. В папке лиса создются два файла,  FireFoxLocalFiles.reg для внесения изменений в реестр и FireFoxLocalFiles.vbs для быстрого запуска локальных файлов. Скрипт у меня работает на разных компьютерах и разных Win, так что запускай последний и если не прокататит подробно опиши полученные сообщения и еще что захочешь.
Anton
Вот это дельно. Оценим последний скрипт и сегодня-завтра выложу его в файлы.
hedgehog
В последнем скрипте есть обработчик ошибок, вот теперь можешь тестировать. Бэкап полезен, согласен, ввел его.
Концептуально в первом скрипте не предусматривалась реакция на отмену или закрытие, в этом случае скрипт просто вылетал, что и требовалось.

Для скрипта не имеет значения поверх старых он запущен или нет, он сделает все, что в его силах. :cool:

Firefox » Проблема с локальными файлами и русскими именами » 13-03-2005 21:43:43

'Сохранить и запустить
'Начало файла fixFireFoxLocalFiles.vbs
Option Explicit
Dim WshShell, sInput, sFileFireFox, sWindows, sFolderFireFox, fso, fixFile
Dim sMsg1, sMsg2, sMsg3, sMsg4, sName1, sName2, sName3, iFlag
On Error Resume Next

set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
sName1 = "FireFoxLocalFiles.vbs"
sName2 = "FireFoxLocalFiles.old.reg"
sName3 = "FireFoxLocalFiles.reg"
sMsg1 = "Системная папка Windows не найдена"
sMsg2 = "Браузер FireFox не найден"
sMsg3 = "Не удалось создать файл "
sMsg4 = "Потребуется вручную запустить файл " & sName3 & " c правом редактирования реестра"
iFlag=0
sWindows = WshShell.ExpandEnvironmentStrings("%WinDir%")
If Not fso.FolderExists(sWindows) then sWindows = InputBox("Укажите системную папку", sMsg1,":\Windows")
If sWindows = "" Then
  WScript.Quit(0)
ElseIf Not fso.FolderExists(sWindows) Then
  MsgBox sMsg1
  WScript.Quit(1)
End If
Err.Clear
sFileFireFox = InputBox("Версия FireFox","

Firefox » Проблема с локальными файлами и русскими именами » 13-03-2005 01:45:08

hedgehog пишет

кнопка "отмена" в инпутбоксе не обрабатываетя.

Ты это серьезно сообщаешь или так, сдуру. Она должна обрабатываться?

hedgehog пишет

зачем создавать .reg если изменения в реестре можно сделать прям из скрипта ?

Можно. Я это могу. :)) А нужно? Догадайся, почему это не сделано.

hedgehog пишет

вывод - внимательнее читаем мануали :)

Читай. Правильно мыслишь.

В скрипте много чего не исследуется, так что давайте будем запускать скрипт целенаправленно. Скрипт вылетает и в других случаях: если лис не установлен, или кто-то специально удалил ветку Mozilla's в реестре, или изменил некую системную переменную. И это не страшно, сервер сценариев выдаст сообщение об ошибке и все.

Firefox » Проблема с локальными файлами и русскими именами » 13-03-2005 00:29:34

Оцените автоматический и оптимизированный скрипт для просмотра локальных файлов.
Windows Scripting Host должен быть установлен (в Win 9X/Me придется WSH установить самостоятельно).
'Сохранить и запустить
'Начало файла fixFireFoxLocalFiles.vbs
set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

Input = InputBox("Версия FireFox","Build","1.0.1")
sFileFireFox = WshShell.RegRead("HKLM\Software\Mozilla\Mozilla Firefox " & Input & "\bin\PathToExe")
sWindows = WshShell.ExpandEnvironmentStrings("%WinDir%")
With fso
  sFolderFireFox = .GetParentFolderName(sFileFireFox) & "\"
  Set fixFile = .CreateTextFile(sFolderFireFox & "FireFoxLocalFiles.vbs", True)
End With
With fixFile
  .WriteLine("Dim WshShell")
  .WriteLine("Set WshShell = WScript.CreateObject(""WScript.Shell"")")
  .WriteLine("WshShell.Run """"""" & sFolderFireFox & "FireFox.exe"""" "" & """"""file://"" & Replace(WScript.Arguments.UnNamed(0),""\"",""/"") & """"""""")
  .Close
End

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]