定期的に1つのファイルに連結する必要があるディレクトリに50〜60個のファイルがあります。
Notepad ++を使用して、おそらく役立つプラグインがあるかもしれないが、見つけられなかったと考えて考えました。
他に考えはありますか?
これらはテキストファイルであり(notepad ++を使用しているため)、Windowsを使用していると仮定すると、単純なバッチスクリプトを作成してそれらを連結できます。
たとえば、すべてのテキストファイルがあるディレクトリで、次を実行します。
for %f in (*.txt) do type "%f" >> combined.txt
これにより、*。txtに一致するすべてのファイルが結合され、combined.txtという1つのファイルになります。
詳細については:
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).**
あなたの場合:
コピー* .txt destination.txt
すべての.txtファイルをアルファベット順でdestination.txtに連結します
聞いてくれてありがとう、新しいことを学んだ!
copy *.txt all.txt
これにより、フォルダーのすべてのテキストファイルが1つのテキストファイルall.txtに連結されます。
SQLファイルなど、他の種類のファイルがある場合
copy *.sql all.sql
はい、notepad ++。Linkの「combine」という名前のプラグインを利用できます。>> Notepad ++のプラグインを結合
プラグインマネージャー経由でインストールできます。このプラグインの追加の利点は、「マージ中にファイルのシーケンスを維持でき、開かれたファイルのシーケンスに従っていることです(タブを参照)」。
Notepad ++で開いているファイルに対してこれを行うには、Combineプラグインを使用できます。 http://www.scout-soft.com/combine/
このような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()
Windowsでは、バッチファイルで簡単なコマンドを使用し、スケジュールされたタスクを使用してすべての情報を1つのファイルにのみ保持します。結果ファイルへの別のパスを選択してください。そうしないと、データが重複します。
タイプ PathToOriginalFiles\*。Extension > AnotherPathToResultFile\NameOfTheResultFile.Extension
多くのcsvファイルを結合する必要がある場合は、header.csvなどの名前の1つのファイルにのみヘッダーを含めるか、または他の名前にすることをお勧めします。リストの最初のファイル、およびヘッダーを含まないように他のすべてのcsvファイルをプログラムしてください。
Windows PowerShellでこのスクリプトを使用しました。
ForEach ($f in get-ChildItem *.sql) { type "$f" >> all.sql }
FileMenu Toolsという便利なサードパーティツールがあります。これは、Windows Explorerの拡張機能としていくつかの右クリックツールを提供します。
そのうちの1つはSplit file/Join Partsです。まさにあなたが探しているもの。
http://www.lopesoft.com/en/filemenutools で確認してください。もちろん、Unix環境には既に多くのツールが用意されているため、これはWindowsのみです。
私はこれが古い投稿であることを知っていますが、それを見つけて、Total Mail Converterを提案した人を見つけました。 2kの.msgファイルを含むフォルダーを.txtに変換できました。また、PDFおよび他の一般的な形式に変換できます。
それは数日を節約できるので、誰かが提案してくれてうれしい素晴らしいツールです。
参考までに、私のプロジェクトは.msgファイルを1つのテキストファイルに結合しているので、スクリプトを実行してファイルから特定の情報(電子メールやリンクなど)を抽出できます。 2kファイルの代わりに、1つで作業できます。