Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / cmd: copy /b file.001 + file.002 + file.003 file.001 / 14 сообщений из 14, страница 1 из 1
10.09.2012, 11:36
    #37950666
Chaki_Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
Добрый день.
Дано: есть много файлов (600 шт.) по 1,5 Гб. Необходимо склеить их так, чтобы не копировать в новый файл. Суммарно, файлы весят 900 Гб. Винт - 1,5 Тб. При склеивании скопировать все в новый файл - не выйдет. Необходимо склеить файлы так (можно в несколько заходов), чтобы все время наращивался 1 файл, а куски можно было постепенно удалять после частичного склеивания).
Файлы:
file.001
file.002
file.003
file.004
file.005
...
file.600

Если сделать так (cmd):
Код: c#
1.
copy /b file.* file 001

в принципе частично решает проблему, файл file.001 сначала копируется сам в себя, а потом добавляет к нему все остальные файлы.
Проблема заключается в том, что когда при последующих разах файл вырастет до размера, например, 400 Гб, то при склеивании файлов:
file.300 (400 000 Гб)
file.301 (1,5 Гб)
file.302 (1,5 Гб)
file.303 (1,5 Гб)
file.304 (1,5 Гб)
....
Файл file.300 будет копироваться в самого себя кучу времени, а только потом склеиваться с остальными.
Можно ли как-нибудь пропустить операцию копирования файла в самого в себя (file.300 (400 000 Гб)) и сразу к файлу file.300 клеить остальные файлы, что поменьше?
...
Рейтинг: 0 / 0
10.09.2012, 12:30
    #37950748
Ха-Ха Ха-Ха
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
Может быть, замутить что-то со стандартными потоками ввода-вывода и их перенаправлением в файл ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.09.2012, 17:46
    #37956548
Chaki_Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
Проблема решилась…
Есть в Windows такая команда, которую я случайно нашел в книге Windows Forensic Analysis Dvd Toolkit 2E (2009) by Harlan Harvey на стр. 448:
Код: c#
1.
2.
3.
D:\Images>type image.001 >   image_all.img
D:\Images>type image.002 >> image_all.img
D:\Images>type image.002 >> image_all.img

Думаю не сложно догадаться, что если у меня есть файл на 300 Гб, и мне нужно к нему приклеить еще 50 по 1,5 Гб, то мне нужно сделать:

Код: c#
1.
2.
3.
4.
5.
6.
7.
D:\Images>type image.200 >> image_all.img
D:\Images>type image.201 >> image_all.img
D:\Images>type image.202 >> image_all.img
D:\Images>type image.203 >> image_all.img
….
D:\Images>type image.498 >> image_all.img
D:\Images>type image.499 >> image_all.img

Или, лучше:
Код: c#
1.
D:\Images>type image.* >> image_all.img

что по очереди склерит все файлы в папке к файлу image_all.img
...
Рейтинг: 0 / 0
13.09.2012, 19:13
    #37956697
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
Как ни странно, это команды консоли, и они имелись уже во времена DOS, а пришли из *nix...
...
Рейтинг: 0 / 0
14.09.2012, 10:10
    #37957126
Ха-Ха Ха-Ха
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
Chaki_Black пишет:

> Проблема решилась…
> D:\Images>type image.* >> image_all.img

Я как раз об этом и говорил :)
Правда, я не уверен, что type корректно и полностью выводит бинарные файлы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.09.2012, 11:03
    #37957243
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
То, что при
Код: powershell
1.
copy /b file.001+file.002


выполняется "сначала копирование файла file.001, с последующей конкатенацией к нему файла file.002" - это бред и ерунда. Копирование первого файла не делается, к нему сразу конкатенируются остальные файлы.

Т.е. для ЭФФЕКТИВНОГО выполнения задачи надо просто НЕ УКАЗЫВАТЬ файл назначения. Однако это не позволит использовать маску в первой группе. Что легко решается изменением имени результирующего файла на такое, которе не подходит под маску.

Т.е.
Код: powershell
1.
copy /b file.*


недопустимо, а вот
Код: powershell
1.
copy /b total.000+file.*


есть правильное решение.
...
Рейтинг: 0 / 0
14.09.2012, 16:28
    #37958133
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
Akinaнедопустимо, а вот
Код: powershell
1.
copy /b total.000+file.*

есть правильное решение.... которому не хватит места.
...
Рейтинг: 0 / 0
14.09.2012, 17:00
    #37958187
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
Ну проблема обеспечения места несколько выходит за рамки этой темы... опять же никто не мешает
Код: powershell
1.
copy /b x:\backup\total.000+y:\data\file.*
...
Рейтинг: 0 / 0
14.09.2012, 18:07
    #37958315
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
AkinaНу проблема обеспечения места несколько выходит за рамки этой темы...Хренассе ...
Существенное условие задачи выходит за её рамки ...
И вообще - дались вам эти звёздочки: идея-то верная, просто "подклеенный" файл надо удалить перед обработкой следующего.
...
Рейтинг: 0 / 0
16.09.2012, 22:47
    #37959509
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
Basil A. SidorovAkinaНу проблема обеспечения места несколько выходит за рамки этой темы...Хренассе ...
Существенное условие задачи выходит за её рамки ...
И вообще - дались вам эти звёздочки: идея-то верная, просто "подклеенный" файл надо удалить перед обработкой следующего.
Вы невнимательно читали условие задачи.
Проблемы с местом - нет. Есть проблема лишнего, ненужного для решения задачи, копирования - т.е. лишнее время на выполнение операции.
...
Рейтинг: 0 / 0
17.09.2012, 00:49
    #37959633
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
Chaki_BlackДобрый день.
Дано: есть много файлов (600 шт.) по 1,5 Гб. Необходимо склеить их так, чтобы не копировать в новый файл. Суммарно, файлы весят 900 Гб. Винт - 1,5 Тб. При склеивании скопировать все в новый файл - не выйдет ...AkinaВы невнимательно читали условие задачи.
Проблемы с местом - нет. Есть проблема лишнего, ненужного для решения задачи, копирования?
...
Рейтинг: 0 / 0
17.09.2012, 08:50
    #37959751
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
AndreTM?
В заявленных цифрах объёмов информации и накопителя, если первый файл 300 Гб или больше - моё решение устраняет эту проблему. Если меньше - то только порционное слияние в несколько этапов, что одной командой не реализуется, но эту часть - недостаток места,- топикстартер видит, и решения ЭТОЙ части проблемы НЕ ПРОСИТ. Она не составляет сути вопроса. ТС просит совета именно по устранению дублирования на диске при копировании первого файла.

Отделяйте зёрна от плевел, да?
...
Рейтинг: 0 / 0
17.09.2012, 15:08
    #37960510
Ха-Ха Ха-Ха
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
Akina пишет:

> copy /b x:\backup\total.000+y:\data\file.*

Интересно, ТС-у важен порядок "подливки" файлов "file.*" ? И гарантирует ли copy "подливку" файлов в каком-либо однозначном порядке ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17.09.2012, 15:36
    #37960589
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cmd: copy /b file.001 + file.002 + file.003 file.001
Ха-Ха Ха-Хагарантирует ли copy "подливку" файлов в каком-либо однозначном порядке ?Файлы будут "подливаться" в том порядке, в каком их отдаёт файловый реквестор. Для локального NTFS-тома это в алфавитном порядке, для FAT-тома - в том порядке, в каком идут записи файлов в каталоге.

Если же требуется строго определённый порядок - придётся выполнять конкатенацию по одному файлу:

Код: powershell
1.
2.
3.
4.
copy /b x:\backup\total.000+y:\data\file.123
copy /b x:\backup\total.000+y:\data\file.135
copy /b x:\backup\total.000+y:\data\file.129
...
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / cmd: copy /b file.001 + file.002 + file.003 file.001 / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]