Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Распаковка mime, uue, b64
Goto page Previous  1, 2, 3
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Jul 08, 2012 15:56    Post subject: Reply with quote

Tol!k wrote:
из-за кириллицы
Почему так решил? С латиницей такого нет?
Тут в проге какая-то проблема. Автодетект не срабатывает.
Кстати, TC эти uue тоже не берёт..

B3T6 - это ты что ль? Smile
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sun Jul 08, 2012 16:19    Post subject: Reply with quote

Quote:
С латиницей такого нет?
Нет

Quote:
Кстати, TC эти uue тоже не берёт..
У меня берёт. И WinRar тоже

Quote:
ты что ль?
Ага
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Jul 09, 2012 02:41    Post subject: Reply with quote

Tol!k wrote:
У меня берёт.
Странно..

Code:
'================================================================
' Получение в текущей папке файла из кодированного текста
' буфера обмена вида B64/MIME/UUE/XXE/BinHex
' Условие: путь запуска - пустой

' Автор - Flasher ©
'======================= Путь к uudeview ========================
UUDev = """%COMMANDER_PATH%\Utils\uudeview\uudeview.exe"""
'======================== Путь к TCFS2 ==========================
TCFS2 = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'================================================================
Set SHA = CreateObject("Shell.Application")
Dim WSH : Set WSH = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
File = SHA.NameSpace(WSH.ExpandEnvironmentStrings("%TEMP%")).Self.Path & "\" & FSO.GetTempName
Set F = FSO.OpenTextFile(File, 2, True)
P = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
A = WSH.RegRead(P) : If A > 0 Then WSH.RegWrite P, 0, "REG_DWORD"
Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
F.Write Trim(Clip) : F.Close : WSH.Run UUDev & " -i -m +o -c """ & File & """", 0, True
WSH.Exec(TCFS2 & " /ef tcm(540)") : If A > 0 Then WSH.RegWrite P, A, "REG_DWORD"
Set FSO  = Nothing : Set WSH = Nothing : Set SHA = Nothing : WScript.Quit
UUDeview
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1172
Location: Макеевка

Post (Separately) Posted: Sat Jul 14, 2012 19:45    Post subject: Reply with quote

Flasher
Просьба расширить приведённый скрипт двумя функциями:
1. Возможность распаковывать скопированный с сайтов текст без предварительной его обработки.
То есть копируется иногда текст с лишними пробелами. С данного сайта, в частности, в Опере к копируемому тексту добавляются пробелы в конце всех строк кроме последней и в начале всех строк кроме первой. Скрипт должен сам предварительно автоматически проанализировать текст и убрать лишние пробелы.

2. Декодирование файла под курсором; если под курсором некодированный файл - тогда декодирование текста из буфера.
То есть скрипт анализирует файл под курсором. Если он кодированный - то скрипт распаковывает его в текущую папку. Если файл не кодированный - то скрипт анализирует буфер и декодирует содержимое буфера если в буфере кодированный текст.
(сейчас у меня две команды - декодировать файл под курсором и декодировать текст из буфера; хочется вместо них сделать одну универсальную команду, которая может распаковывать и то, и то).
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Jul 14, 2012 23:49    Post subject: Reply with quote

LonerD
1. Я до этого пробовал выделять сразу с лишними пустыми строками примеры по ссылкам, всё работало. А пробелы и так убираются тримом.
2. Я бы не стал мешать одно с другим. Во-первых, это далеко не всем нужно, а во-вторых, это замедлит момент появления файла в панели. Сделаю позже отдельный вариант. А пока сюда загляни.
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1172
Location: Макеевка

Post (Separately) Posted: Sun Jul 15, 2012 03:05    Post subject: Reply with quote

Quote:
А пробелы и так убираются тримом.

Начал пробовать. Обнаружил, что пробелы в конце строк удаляются.
Но в Опере при копировании возникают ещё лишние пробелы в начале строк, и скрипт такое "не пережёвывает".

Quote:
А пока сюда загляни.

Это и есть второй скрипт для кодирования, которым я пользуюсь Smile
Сейчас возникла идея. Что если объединить эти два скрипта? Наверное, правильней будет всё-же в первую очередь обрабатывать буфер, чтобы не потерять его содержимое, а потом уже анализировать файлы.
Новый скрипт должен:
1. Проверять буфер обмена, если в буфере есть кодированный текст - раскодировать его в активную панель.
2. Если в буфере текст не кодированный - то скрипт проверяет файл под курсором. Если файл кодированный - то раскодирует его в активную панель.
3. Если файл под курсором не кодированный - то он кодируется в активную панель.
Сразу убивается три зайца.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Jul 16, 2012 16:24    Post subject: Reply with quote

LonerD wrote:
Что если объединить эти два скрипта?
Нет смысла, там только MIME.
А то, что ты предлагаешь, сделать можно, только по времени отработки будет дольше проходить.

В общем, выложил в более подходящем месте.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Nov 28, 2012 02:50    Post subject: Reply with quote

декодирование UUE без Хелпера, без Тотала и без левых утилит Very HappyVery Happy
Code:
' Получение в текущей папке файла из кодированного текста
' буфера обмена в виде B64/MIME/UUD/UUE/XXD/XXE/BinHex/AtoB/BtoA

' Автор - Flasher ©
'===============================================
Dim FSO, WSH, F, TF
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
TempFolder = WSH.ExpandEnvironmentStrings("%TEMP%") & "\0"
If Not FSO.FolderExists(TempFolder) Then FSO.CreateFolder TempFolder
TempFile = TempFolder & "\" & FSO.GetTempName
NewFile = TempFolder & "\*.*"
Set F = FSO.OpenTextFile(TempFile, 2, True)
P = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
A = WSH.RegRead(P)
If A > 0 Then WSH.RegWrite P, 0, "REG_DWORD"
Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
F.Write Clip
F.Close
Set TF = WSH.Exec("%ProgramFiles%\WinRAR\WinRAR.exe e " & TempFile)
TF.Terminate
FSO.DeleteFile TempFile, 1
If FSO.GetFolder(TempFolder).Files.Count > 0 Then _
FSO.MoveFile NewFile, WSH.CurrentDirectory Else WScript.Quit
FSO.DeleteFolder TempFolder, 1
WSH.SendKeys "^R"
If A > 0 Then WSH.RegWrite P, A, "REG_DWORD"
Set FSO = Nothing
Set WSH = Nothing
WScript.Quit

Flasher
здесь проблема с кириллицей сохраняется, т.е. она возникает на этапе буфер→.uue
а не из-за декодирующей утилиты

неожиданно проблема с кириллицей исчезла o_O
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Nov 28, 2012 10:14    Post subject: Reply with quote

Tol!k wrote:
и без левых утилит
Не левее твоего платного WinRAR. Wink
Да забудь про старый вариант, жми по ссылке выше, там всё учтено.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3
Page 3 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group