У меня есть от 50 до 60 файлов в каталоге, которые мне нужно регулярно объединять в один файл.
Я думал об использовании notepad ++, думая, что, вероятно, есть плагин, который поможет, но не смог его найти.
Любые другие мысли?
У меня есть от 50 до 60 файлов в каталоге, которые мне нужно регулярно объединять в один файл.
Я думал об использовании notepad ++, думая, что, вероятно, есть плагин, который поможет, но не смог его найти.
Любые другие мысли?
Предполагая, что это текстовые файлы (поскольку вы используете notepad++) и что вы работаете в Windows, вы можете создать простой пакетный скрипт, чтобы объединить их вместе.
Например, в каталоге со всеми текстовыми файлами выполните следующее:
for %f in (*.txt) do type "%f" >> combined.txt
Это объединит все файлы, соответствующие *.txt, в один файл с именем Combined.txt.
Чтобы получить больше информации:
Используйте команду Windows «копировать».
C:\Users\dan>help copy
Copies one or more files to another location.
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]
source Specifies the file or files to be copied.
/A Indicates an ASCII text file.
/B Indicates a binary file.
/D Allow the destination file to be created decrypted
destination Specifies the directory and/or filename for the new file(s).
/V Verifies that new files are written correctly.
/N Uses short filename, if available, when copying a file with
a non-8dot3 name.
/Y Suppresses prompting to confirm you want to overwrite an
existing destination file.
/-Y Causes prompting to confirm you want to overwrite an
existing destination file.
/Z Copies networked files in restartable mode.
/L If the source is a symbolic link, copy the link to the
target
instead of the actual file the source link points to.
The switch /Y may be preset in the COPYCMD environment variable.
This may be overridden with /-Y on the command line. Default is
to prompt on overwrites unless COPY command is being executed from
within a batch script.
**To append files, specify a single file for destination, but
multiple files for source (using wildcards or file1+file2+file3
format).**
Итак, в вашем случае:
copy *.txt destination.txt
Объединит все файлы .txt в алфавитном порядке в файл destination.txt.
Спасибо за вопрос, узнал кое-что новое!
copy *.txt all.txt
Это объединит все текстовые файлы папки в один текстовый файл all.txt.
Если у вас есть файлы любого другого типа, например файлы sql
copy *.sql all.sql
Да, доступен подключаемый модуль под названием «combine» для Notepad++. Ссылка: .>> Подключаемый модуль для Notepad++ а>
Вы можете установить его через менеджер плагинов. Дополнительным преимуществом этого плагина является: "Вы можете сохранить последовательность файлов при слиянии, это соответствует последовательности открываемых файлов (см. вкладки)".
вы можете использовать скрипт powershell, подобный этому
$sb = new-object System.Text.StringBuilder
foreach ($file in Get-ChildItem -path 'C:\temp\xx\') {
$content = Get-Content -Path $file.fullname
$sb.Append($content)
}
Out-File -FilePath 'C:\temp\xx\c.txt' -InputObject $sb.toString()
foreach ($file in Get-ChildItem -path 'C:\temp\EXEMPLES_TEST') { $content = Get-Content -Path $file.fullname $content = $content + [Environment]::NewLine $content | Out-File 'C:\temp\EXEMPLES_TEST\combined.txt' -append }
- person Janiek Buysrogge; 02.04.2015
В Windows я использую простую команду в пакетном файле и использую запланированное задание, чтобы хранить всю информацию только в одном файле. Обязательно выберите другой путь к файлу результатов, иначе у вас будут дублирующиеся данные.
тип PathToOriginalFiles\*.Extension > AnotherPathToResultFile\NameOfTheResultFile.Extension
Если вам нужно соединить большое количество CSV-файлов, лучше иметь заголовок только в одном файле с именем, например 0header.csv, или с другим именем, чтобы он всегда был первый файл в списке и обязательно запрограммируйте все остальные файлы csv, чтобы они не содержали заголовок.
Если вам нравится делать это для открытых файлов в Notepad++, вы можете использовать плагин Combine: http://www.scout-soft.com/combine/
Существует удобный сторонний инструмент под названием FileMenu Tools, который предоставляет несколько инструментов, вызываемых правой кнопкой мыши, в качестве расширения проводника Windows.
Одним из них является Разделить файл / Объединить части, который делает и отменяет именно то, что вы ищете.
Проверьте это на http://www.lopesoft.com/en/filemenutools. Конечно, это только окна, так как в средах Unix уже есть много инструментов для этого.
Я знаю, что это старый пост, но я нашел его, а затем нашел человека, который предложил Total Mail Converter. Мне удалось преобразовать мою папку с 2k файлами .msg в .txt. Он также позволяет конвертировать в PDF и другие популярные форматы.
Это отличный инструмент, и я рад, что кто-то предложил его, так как он сэкономит мне несколько дней.
К вашему сведению. Мой проект объединяет файлы .msg в один текстовый файл, чтобы я мог запустить сценарий для извлечения определенной информации из файлов (например, адрес электронной почты и ссылки). Вместо 2к файлов я могу работать с одним.
Я использовал этот скрипт в Windows PowerShell:
ForEach ($f in get-ChildItem *.sql) { type "$f" >> all.sql }
cat * > merge-file
. Команда работает и в консоли Linux. Больше информации здесь. unix.stackexchange.com/questions/3770/ - person Larry Battle   schedule 28.03.2013cat
, если вы устанавливаете unxutils/busybox/msysgit/cygwin/mingw/msys - person n611x007   schedule 19.01.2016