View previous topic :: View next topic |
Author |
Message |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Mar 19, 2012 01:16 Post subject: |
|
|
shveicar wrote: | авто переименование будет лишним, какой в нем смысл? | Допустим файлы b64 скопированы в папку, где лежат файлы с закодированными именами, но с другим содержимым, при декодировании они перепишутся, что не всегда желательно. Или нужно из имеющихся файлов создать новые b64 после модификации, при этом в этой папке лежат старые b64. В этом случае может понадобится иметь несколько модифицированных MIME-вариантов.
shveicar wrote: | а то, уже начал думать что AutoHotkey будет по мощнее чем vbs | Есть кое-что помощнее, но точно не AutoHotKey. Тут у каждого свои плюсы и минусы. Но то, что AHK куда легче в усвоении - факт.
Serge Yolkin wrote: | Например: по ПКМ на файле выбираем "Энкодить", и результат - в буфере обмена. | ПКМ в TC не поставишь, а биндить на резидент желания нет (задача не частая). Кодировать в буфер ещё проще. Думаю, добавлю параметр. Хотя нет, мы же списки обрабатываем (как верно далее замечено), это тоже не подходит. Посмотри название темы.
Serge Yolkin wrote: | Или так: сначала - в 7z, а уж потом энкодить. Для форума. | Раньше была и такая мысль. Странно, что забыл совсем. Это, пожалуй, для нескольких файлов сделать можно. Позже оформлю дополнительный вариант.
Last edited by Flasher on Mon Mar 19, 2012 01:30; edited 3 times in total |
|
Back to top |
|
 |
shveicar

Joined: 18 Apr 2011 Posts: 277 Location: Россия Москва
|
(Separately) Posted: Mon Mar 19, 2012 01:20 Post subject: |
|
|
Serge Yolkin wrote: | Например: по ПКМ на файле выбираем "Энкодить", и результат - в буфере обмена |
Так скрипт, специально создавался для нескольких файлов. Что же будет если их сумму - загнать в буфер.
Flasher wrote: | Допустим файлы b64 скопированы в папку, где лежат файлы с закодированными именами, но с другим содержимым |
Ну если, человек профессиональный перекодировщик, то что-бы не запутаться - согласен такое необходимо...
Last edited by shveicar on Mon Mar 19, 2012 01:49; edited 1 time in total |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Mar 19, 2012 01:23 Post subject: |
|
|
shveicar wrote: | скрипт, специально создавался для нескольких файлов | Кстати, очень верное замечание. Как я сразу не сообразил.
shveicar wrote: | Ну если, человек профессиональный перекодировщик, то что-бы не запутаться ... | Честно, не уловил мысль насчёт кодировщика. И дело разве в "запутаться"? Я пишу про необходимость наличия разных (де)кодированных модификаций файлов в одной папке. |
|
Back to top |
|
 |
shveicar

Joined: 18 Apr 2011 Posts: 277 Location: Россия Москва
|
(Separately) Posted: Mon Mar 19, 2012 02:24 Post subject: |
|
|
Quote: | Честно, не уловил мысль насчёт кодировщика |
Поясняю: Если Чел не "профи", создает папку,- кидает туда информацию (имена естественно разные) выполняет скрипт, - получает, допустим в той-же, в папке результат... Обратная процедура выглядит так-же: в чистую папку кидаем файлы в B64 -применяем скрипт,- и там-же забираем результат, В случае с Профи, - при сохранении результатов в существующие папки с файлами, (все зависит от параметров в скрипте и наличии "обработанных" файлов) - могут быть косяки...
Впрочем, Вам как Автору, - видней .
Лично Я, не против - дополнительных опций... |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Mar 19, 2012 02:45 Post subject: |
|
|
shveicar
Т.е. есть уверенность, что у "не профи" точно не появится желание скидывать всё в одну папку? У меня такой уверенности нет.
Но вот вопрос - если таки файлы уже есть, переписывать их есть смысл или всё же стоит добавлять новые? Т.е. тут сразу надо переименовывать или только с выставлением опции?
Паковать в 7-zip тоже опционально, или отдельный скрипт - лучше? |
|
Back to top |
|
 |
shveicar

Joined: 18 Apr 2011 Posts: 277 Location: Россия Москва
|
(Separately) Posted: Mon Mar 19, 2012 03:04 Post subject: |
|
|
Flasher
Если возможно:
Когда, такие файлы уже есть - лучше добавлять новые. Для 7zip (ради удобства) - лучше создать отдельный скрипт.
Спасибо за Труды. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Mar 19, 2012 04:07 Post subject: |
|
|
shveicar
Ренэйм сделал. Скрипт с 7z - завтра. |
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Mon Mar 19, 2012 11:03 Post subject: |
|
|
Flasher wrote: | ПКМ в TC не поставишь |
Через внутренние ассоциации - легко.
А на счет темы - да, оффтоплю. Результаты ковыряний в скрипте сообщу где-нибудь в другой ветке. Если только автор не возражает. |
|
Back to top |
|
 |
shveicar

Joined: 18 Apr 2011 Posts: 277 Location: Россия Москва
|
(Separately) Posted: Mon Mar 19, 2012 13:12 Post subject: |
|
|
Flasher wrote: | Ренэйм сделал |
Порядок, Все работает. ОК...
Serge Yolkin wrote: | Если только автор не возражает |
Не возражаю, мне будет тоже интересно, тем более что на js |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Mar 19, 2012 14:31 Post subject: |
|
|
Serge Yolkin wrote: | Через внутренние ассоциации - легко. | Я сейчас перечитал как ты написал: выбираем "Энкодить". Ты про меню. А я было подумал, что ты про выполнение по нажатию ПКМ. Тогда это вообще бессмыслица, в то время когда есть Enter и даблклик ЛКМ. Контекстное меню-то тут при чём? И как это относилось к модификации кода? Да и через вн. ассоциации несколько файлов при использовании цикла не подхватишь, только многократным выполнением скрипта без оного (такая реализация мне не по душе).
Serge Yolkin wrote: | Если только автор не возражает. | Автор чего - топика или скрипта?  |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Mar 19, 2012 23:57 Post subject: |
|
|
shveicar wrote: | Для 7zip (ради удобства) - лучше создать отдельный скрипт. | Не захотелось что-то включать утилиту. Пакую в zip-ы. Разница в результате несущественная. Иногда и zip выигрывает по ёмкости b64. Да и формат есть по умолчанию в Тотале и на всех современных системах в отличии от 7zip.
Скрипт тот же с новым ключом. Ничего неудобного в этом не вижу. |
|
Back to top |
|
 |
shveicar

Joined: 18 Apr 2011 Posts: 277 Location: Россия Москва
|
(Separately) Posted: Tue Mar 20, 2012 15:18 Post subject: |
|
|
Flasher
В таком виде, - весьма удобно, главное что правильно определяет типы файлов... (про отдельный скрипт говорил, - из за возможных ошибок с определением)
Проверил - все- Ок.. Спасибо.
P.s Вот и не коммерческая версия (платного аналога) получилась ... |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Mar 20, 2012 22:17 Post subject: |
|
|
shveicar
Это скрипт, а не просто компонент. Поэтому аналогии тут нет. Ну, а этот платный компонент, возможно, ужимает получше MSXml2 и задействует более расширенный анализ кода. Хотя я его ещё толком не тестировал. Бесплатные внешние компоненты подключить могу (если они лучше ужимают, конечно). |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Mar 28, 2012 22:59 Post subject: |
|
|
Tol!k wrote: | проблемы с именами на кириллице | Попробуй с такой утилитой. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 29, 2012 20:56 Post subject: |
|
|
Тут был запрос.
Code: | '================================================================
' 1) Получение в текущей папке файла из кодированного текста
' буфера обмена вида B64/MIME/UUE/XXE/BinHex
' 2) Если в буфере нет соотв. кода,
' то кодировать/декодировать выбранные файлы в панели
' Условие: путь запуска - пустой
' Параметры: %WL <расширение кодировки> <флаг упаковки в zip: 1>
' Возможные расширения кодирования: b64, xxe, uue
' Автор - Flasher ©
'======================= Путь к UUDeView ========================
UUDev = """%COMMANDER_PATH%\Utils\uudeview\uudeview.exe"""
'======================= Путь к UUEnView ========================
UUEnv = """%COMMANDER_PATH%\Utils\uudeview\uuenview.exe"""
'======================== Путь к TCFS2 ==========================
TCFS2 = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'================================================================
L = vbNewLine
Set SHA = CreateObject("Shell.Application")
Dim WSH : Set WSH = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
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 = Trim(CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text"))
Temp = SHA.NameSpace(WSH.ExpandEnvironmentStrings("%TEMP%")).Self.Path
If Clip <> "" Then
Clip = Replace(Replace(Clip, " " & L, L), L & " ", L) : Search = InStr(Clip, "begin ")
If (Search And IsNumeric(Mid(Clip, Search + 8, 2))) Or InStr(Clip, L & "Content-Transfer-Encoding:") Then
File = Temp & "\" & FSO.GetTempName
Set F = FSO.OpenTextFile(File, 2, True) : F.Write Trim(Clip) : Set SHA = Nothing : F.Close
WSH.Run UUDev & " -i -m +o -c """ & File & """", 0, True : WSH.Exec(TCFS2 & " /ef tcm(540)")
With CreateObject("InternetExplorer.Application")
.Navigate("about:blank") : .document.parentWindow.clipboardData.setData "text", ""
.ExecWB 45, 2 : .Quit
End With : If A > 0 Then WSH.RegWrite P, A, "REG_DWORD"
Quit
End If
End If
With WScript.Arguments
C = .Count : If C = 0 Then Quit
List = .Item(0) : If C > 1 Then Ext = .Item(1) Else Ext = " "
End With
Do Until Ext = "b64" Or Ext = "xxe" Or Ext = "uue"
Ext = InputBox(L & "Введите одно из расширений формата возможного кодирования:" & L & _
"b64, uue, xxe","Кодирование") : If Trim(Ext) = "" Then Quit
Loop : E = "7z|7zip|zip|rar|arc|cab|nz|pea|bz|bzip|bz2|bzip2|arj|tar|gz|gza|gzi|pzip|tgz|ace|uc2"
Select Case Ext
Case "b64" : Code = " -b " : Case "uue" : Code = " -u " : Case "xxe" : Code = " -x "
End Select
For Each F in Split(FSO.GetFile(List).OpenAsTextStream(1, -1).ReadAll, L)
If FSO.FileExists(F) Then
Set File = FSO.GetFile(F).OpenAsTextStream(1, -2) : RF = File.ReadAll
If InStr(RF, L & "begin ") Or InStr(RF, L & "Content-Transfer-Encoding:") Or _
InStr(RF, L & "_=_ Part ") Then
WSH.Run UUDev & " -i -m +o """ & F & """", 0, True
Else
If C = 3 Then
If InStr(E, LCase(FSO.GetExtensionName(F))) = 0 Then
NF = Temp & "\" & FSO.GetBaseName(F) & ".zip" : Set ZIP = FSO.CreateTextFile(NF)
ZIP.Close : Set ZIP = Nothing
Set ArchDir = SHA.NameSpace(NF) : ArchDir.CopyHere F, 20
Size = 0 : Set AF = ArchDir.ParseName(FSO.GetFileName(F))
On Error Resume Next : Err.Number = 424
Do While Err.Number = 424 And Size <> FSO.GetFile(F).Size : Err.Number = 0
Set AF = ArchDir.ParseName(FSO.GetFileName(F)) : Size = AF.Size
Loop : On Error Goto 0
WScript.Sleep 10 : Set AF = Nothing : Set ArchDir = Nothing : F = NF
End If
End If : WSH.Run UUEnv & Code & "-o """ & F & """", 0, True
N = FSO.GetFileName(F) : BN = FSO.GetBaseName(F) : NF = BN & "." & Ext
If Not FSO.FileExists(NF) Then FSO.GetFile(BN & ".001").Name = NF
If Ext = "b64" Then
FN = WSH.CurrentDirectory & "\" & NF : Set CF = FSO.OpenTextFile(FN) : CF.SkipLine
If CF.ReadLine = "_=_ " Then
Base = CF.ReadAll : CF.Close : Set CF = Nothing : Set CF = FSO.OpenTextFile(FN, 2)
CF.Write "MIME-Version: 1.0" & L & _
"Content-Type: application/octet-stream; name=""" & N & """" & L & _
"Content-Transfer-Encoding: base64" & L & _
"Content-Disposition: attachment; filename=""" & N & """" & L & L & _
Mid(Base, InStr(Base, L & L) + 4)
End If : CF.Close : Set CF = Nothing : If C = 3 Then FSO.DeleteFile F
End If
End If : File.Close : Set File = Nothing : RF = ""
End If : WSH.Exec(TCFS2 & " /ef tcm(540)")
Next : If A > 0 Then WSH.RegWrite P, A, "REG_DWORD" : Quit
Sub Quit : Set FSO = Nothing : Set WSH = Nothing : Set SHA = Nothing : WScript.Quit : End Sub |
UUDeview + UUEnview |
|
Back to top |
|
 |
|
|
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
|