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 

Как скопировать несколько файлов в один?
Goto page Previous  1, 2, 3, 4, 5, 6  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Сергеич



Joined: 15 Dec 2004
Posts: 152

Post (Separately) Posted: Sat Feb 12, 2005 14:30    Post subject: Reply with quote

Quote:
Ну не уж такую фичу в тотале не могли сделать?

Есть. собирает-разбирает. Но собирает только в том случае если сам он и разбирал.
Для остальных случаев видать автор считает, что рядовым юзерам это совсем не надо, а продвинутые и сами знают как собрать.
ИМХО он думает правильно, а то мож народ решит так архивы объединять или документы Ворда.... а потом жаловаться будет....

я кстати пару разобъединял файлики так: проходил групповым переименованием, а потом меню "файл" - "собрать".
Back to top
View user's profile Send private message
mike



Joined: 10 Feb 2005
Posts: 10

Post (Separately) Posted: Sat Feb 12, 2005 14:33    Post subject: Reply with quote

Вот как раз для рядовых-то и надо. Ну да ладно чего обсуждать, пора закрывать тему
Back to top
View user's profile Send private message
NakaRB



Joined: 12 Feb 2005
Posts: 10
Location: Москва

Post (Separately) Posted: Sat Feb 12, 2005 17:49    Post subject: Reply with quote

чего мучаетесь? в папку суете файлы для объединения, переименовываете их типа file01.txt, file02.txt,..,file99.txt. ставите курсор на первый файл в списке, лезете в меню Files|Combine files и жмем ОК. и еще раз ОК. и в панельке напротив получаем файлик file01.out с содержимым всех фалов. меняем разрешение на txt и радуемся Wink
Back to top
View user's profile Send private message
mike



Joined: 10 Feb 2005
Posts: 10

Post (Separately) Posted: Mon Feb 14, 2005 07:33    Post subject: Reply with quote

Я же уже говорил, нужно для Чайников, попробуй им объяснить это, особенно какой-нибудь бабуле которая мышью работать не умеет толком
Back to top
View user's profile Send private message
Сергеич



Joined: 15 Dec 2004
Posts: 152

Post (Separately) Posted: Mon Feb 14, 2005 12:29    Post subject: Reply with quote

Значит надо этой бабуле так давать файлы чтоб она легко смогла их собрать. Стандартно или с бат-файлом. В этом и фикус. А дай бабуле струмент в руки неизвестно что она удумает. Вы бы ещё ей хардлинки в руки дали..... Wink
Back to top
View user's profile Send private message
mike



Joined: 10 Feb 2005
Posts: 10

Post (Separately) Posted: Mon Feb 14, 2005 12:34    Post subject: Reply with quote

Она должна выбрать по куче файлов нужный, например через ctrl+q
просмотреть, а потом отмечая нужные их склеить - имена файлов какие есть не изменить
Back to top
View user's profile Send private message
doRn



Joined: 31 Dec 2007
Posts: 2

Post (Separately) Posted: Mon Dec 31, 2007 18:00    Post subject: Reply with quote

Есть куча файлов вида
a.001
a.002
b.001
b.002
c.001
c.002
...
можно как нить автоматически(не вручную по однаму) собрать их в
a.out
b.out
c.out
...
соответственно
Back to top
View user's profile Send private message
doRn



Joined: 31 Dec 2007
Posts: 2

Post (Separately) Posted: Tue Jan 08, 2008 05:03    Post subject: Reply with quote

без вариантов?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2198
Location: Москва, Россия

Post (Separately) Posted: Thu Jan 10, 2008 19:29    Post subject: Reply with quote

doRn
С варантами все просто - пара десятков строк в скрипте.
Сложно со временем.
Тебе срочно?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1477
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Fri Jan 11, 2008 09:41    Post subject: Reply with quote

doRn
Только 001 и 002?
Создать bat файл с именами файлов, удалить расширения, добавить copy в начале строк, продублировать имена и расширения для склеивания файлов.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2198
Location: Москва, Россия

Post (Separately) Posted: Fri Jan 11, 2008 15:58    Post subject: Reply with quote

doRn
С добавлением всех проверок и собственной сортировки по возрастанию номера в расширении получилось чуть больше 20 строк Smile
Только crc-сумму я не проверяю.
Code:
'=================================================================================
' Склеивание выделенных файлов.
' Два режима работы скрипта:

' 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


Добавлено: Переделал скрипт - теперь склеивать можно не только текстовые файлы.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
evshi



Joined: 30 Mar 2009
Posts: 11

Post (Separately) Posted: Mon May 25, 2009 12:52    Post subject: Как слить несколько текстовых файлов в один? Reply with quote

Есть команда "Собрать файлы", но она работает, если файлы последовательно проименованы. А у меня разные названия.

1. Можно ли в таком случае как-то слить через total?
2. Если все таки по п.1 нельзя, то, в принципе, файлы через командную строку можно слить так "copy /b file.0000+file.0001+file.0002 file.result". Как это можно прикрутить в total? В идеале хотелось бы выделять нужные файлы и, нажав команду, получить результат.
Back to top
View user's profile Send private message
Worros



Joined: 19 Jan 2007
Posts: 1123

Post (Separately) Posted: Mon May 25, 2009 13:09    Post subject: Reply with quote

Ctrl+M , потом собирать.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2491
Location: Большая деревня Москва

Post (Separately) Posted: Mon May 25, 2009 13:24    Post subject: Reply with quote

Была утилитка под названием combain (именно так, а не combine). Поищи. Я сейчас не дома, а то бы выслал. Мне она в свое время много времени сэкономила. Встраивается в ТС.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2198
Location: Москва, Россия

Post (Separately) Posted: Mon May 25, 2009 13:29    Post subject: Reply with quote

evshi
Как собрать несколько файлов в один

 !  Avada:
Ссылка поправлена.

_________________
Нет, я не сплю. Я просто медленно моргаю.
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, 4, 5, 6  Next
Page 2 of 6

 
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