Страница 2 из 6
Добавлено: Сб фев 12, 2005 13:30
Сергеич
Ну не уж такую фичу в тотале не могли сделать?
Есть. собирает-разбирает. Но собирает только в том случае если сам он и разбирал.
Для остальных случаев видать автор считает, что рядовым юзерам это совсем не надо, а продвинутые и сами знают как собрать.
ИМХО он думает правильно, а то мож народ решит так архивы объединять или документы Ворда.... а потом жаловаться будет....
я кстати пару разобъединял файлики так: проходил групповым переименованием, а потом меню "файл" - "собрать".
Добавлено: Сб фев 12, 2005 13:33
mike
Вот как раз для рядовых-то и надо. Ну да ладно чего обсуждать, пора закрывать тему
Добавлено: Сб фев 12, 2005 16:49
NakaRB
чего мучаетесь? в папку суете файлы для объединения, переименовываете их типа file01.txt, file02.txt,..,file99.txt. ставите курсор на первый файл в списке, лезете в меню Files|Combine files и жмем ОК. и еще раз ОК. и в панельке напротив получаем файлик file01.out с содержимым всех фалов. меняем разрешение на txt и радуемся

Добавлено: Пн фев 14, 2005 06:33
mike
Я же уже говорил, нужно для Чайников, попробуй им объяснить это, особенно какой-нибудь бабуле которая мышью работать не умеет толком
Добавлено: Пн фев 14, 2005 11:29
Сергеич
Значит надо этой бабуле так давать файлы чтоб она легко смогла их собрать. Стандартно или с бат-файлом. В этом и фикус. А дай бабуле струмент в руки неизвестно что она удумает. Вы бы ещё ей хардлинки в руки дали.....

Добавлено: Пн фев 14, 2005 11:34
mike
Она должна выбрать по куче файлов нужный, например через ctrl+q
просмотреть, а потом отмечая нужные их склеить - имена файлов какие есть не изменить
Добавлено: Пн дек 31, 2007 17:00
doRn
Есть куча файлов вида
a.001
a.002
b.001
b.002
c.001
c.002
...
можно как нить автоматически(не вручную по однаму) собрать их в
a.out
b.out
c.out
...
соответственно
Добавлено: Вт янв 08, 2008 04:03
doRn
без вариантов?
Добавлено: Чт янв 10, 2008 18:29
Batya
doRn
С варантами все просто - пара десятков строк в скрипте.
Сложно со временем.
Тебе срочно?
Добавлено: Пт янв 11, 2008 08:41
Моторокер
doRn
Только 001 и 002?
Создать bat файл с именами файлов, удалить расширения, добавить copy в начале строк, продублировать имена и расширения для склеивания файлов.
Добавлено: Пт янв 11, 2008 14:58
Batya
doRn
С добавлением всех проверок и собственной сортировки по возрастанию номера в расширении получилось чуть больше 20 строк

Только crc-сумму я не проверяю.
Код: Выделить всё
'=================================================================================
' Склеивание выделенных файлов.
' Два режима работы скрипта:
' 1. Склеиваются только файлы с цифровым расширением.
' Если после отбрасывания цифрового расширения у файлов останется какое-либо
' расширение, то оно будет у итогового файла, иначе - расширение out:
' (*.001,...,*.999) -> *.out; (*.ext.001,...,*.ext.999) -> *.ext
' Папка (существующая) формирования итоговых файлов указывается вторым параметром.
' Параметры вызова из TC:
' %L "%T"
' или
' %L "%P"
' 2. Склеиваются все файлы в один, если вторым параметром указан файл, а не папка.
' Такой файл не должен существовать.
' Параметры вызова из TC:
' %L {путь итогового файла}
' Пример:
' %L "%Tresult.txt"
'=================================================================================
Option Explicit
' Проверяем число параметров
Dim Title
Title = "Склеивание выделенных файлов"
If WScript.Arguments.Count < 2 Then
MsgBox "Неправильно заданы параметры!", _
vbOKOnly + vbCritical, Title
WScript.Quit
End If
Dim FSO, Out, Mode
Set FSO = CreateObject("Scripting.FileSystemObject")
Out = WScript.Arguments(1)
If FSO.FolderExists(Out) Then
Mode = 1
Else
If FSO.FileExists(Out) Then
MsgBox "Файл " & Out & " уже существует!" & vbNewLine &_
"Работа скрипта будет прервана.", _
vbOKOnly + vbCritical, Title
Set FSO = Nothing
WScript.Quit
Else
Mode = 2
End If
End If
Dim List, ListArr, WSH, L, Line
List = FSO.OpenTextFile(WScript.Arguments(0), 1).ReadAll
ListArr = Split(List, vbNewLine)
Set WSH = CreateObject("WScript.Shell")
Select Case Mode
Case 1 Mode1Proc
Case 2 Mode2Proc
End Select
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit
Sub Mode1Proc
Dim ListDic, Name, Ext, ExtOut, FileOut, PathOut, k
Set ListDic = CreateObject("Scripting.Dictionary")
For Each L In ListArr
Ext = FSO.GetExtensionName(L)
If IsNumeric(Ext) Then
Name = FSO.GetBaseName(L)
ExtOut = FSO.GetExtensionName(Name)
If ExtOut = "" Then
ExtOut = "out"
Else
Name = FSO.GetBaseName(Name)
End If
FileOut = Name & "." & ExtOut
PathOut = Out & FileOut
If FSO.FileExists(PathOut) Then
WSH.Popup "Файл " & PathOut & " уже существует." & vbNewLine &_
"Склеивание в этот файл не будет выполнено!", _
1, Title, vbOKOnly + vbCritical
Else
If Not ListDic.Exists(PathOut) Then
Set ListDic.Item(PathOut) = CreateObject("Scripting.Dictionary")
End If
ListDic(PathOut).Add CInt(Ext), L
End If
End If
Next
For Each L In ListDic.Keys
Line = ""
For k = 1 To 999
If ListDic(L).Exists(k) Then
Line = Line & "+""" & ListDic(L)(k) & """"
End If
Next
Line = Mid(Line, 2)
WSH.Run "%ComSpec% /c copy /b " & Line & " """ & L & """", 7, True
Next
Set ListDic = Nothing
End Sub
Sub Mode2Proc
Line = ""
For Each L In ListArr
If FSO.FileExists(L) Then
Line = Line & "+""" & L & """"
End If
Next
Line = Mid(Line, 2)
WSH.Run "%ComSpec% /c copy /b " & Line & " """ & Out & """", 7, True
End Sub
Добавлено: Переделал скрипт - теперь склеивать можно не только текстовые файлы.
Как слить несколько текстовых файлов в один?
Добавлено: Пн май 25, 2009 12:52
evshi
Есть команда "Собрать файлы", но она работает, если файлы последовательно проименованы. А у меня разные названия.
1. Можно ли в таком случае как-то слить через total?
2. Если все таки по п.1 нельзя, то, в принципе, файлы через командную строку можно слить так "copy /b file.0000+file.0001+file.0002 file.result". Как это можно прикрутить в total? В идеале хотелось бы выделять нужные файлы и, нажав команду, получить результат.
Добавлено: Пн май 25, 2009 13:09
Worros
Ctrl+M , потом собирать.
Добавлено: Пн май 25, 2009 13:24
Вахмурка
Была утилитка под названием combain (именно так, а не combine). Поищи. Я сейчас не дома, а то бы выслал. Мне она в свое время много времени сэкономила. Встраивается в ТС.
Добавлено: Пн май 25, 2009 13:29
Batya
evshi
Как собрать несколько файлов в один
[mod="Avada"]Ссылка поправлена.[/mod]