Ho da 50 a 60 file in una directory che ho bisogno di concatenare in un singolo file su base regolare.
Ho pensato di usare notepad ++ pensando che probabilmente c'era un plug-in che avrebbe aiutato ma che non era stato in grado di trovarne uno.
Qualche altro pensiero?
Supponendo che si tratti di file di testo (dato che stai usando notepad ++) e che sei su Windows, potresti creare un semplice script batch per concatenarli insieme.
Ad esempio, nella directory con tutti i file di testo, eseguire quanto segue:
for %f in (*.txt) do type "%f" >> combined.txt
Questo unirà tutti i file che corrispondono * .txt in un file chiamato combined.txt.
Per maggiori informazioni:
Usa il comando 'copia' di 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).**
Quindi nel tuo caso:
copia * .txt destination.txt
Concatena tutti i file .txt in ordine alfabetico in destination.txt
Grazie per avermelo chiesto, ho imparato qualcosa di nuovo!
copy *.txt all.txt
Questo concatenerà tutti i file di testo della cartella in un file di testo all.txt
Se hai altri tipi di file, come i file sql
copy *.sql all.sql
Sì, è disponibile un plugin chiamato "combina" per notepad ++. Link:. >> Combina plugin per Notepad ++
Puoi installarlo tramite plugin manager. Un ulteriore vantaggio di questo plugin è: "È possibile mantenere la sequenza di file durante l'unione, è in base alla sequenza di apertura dei file aperti (vedere le schede)".
Se ti piace farlo per i file aperti su Notepad ++, puoi usare il plugin Combine: http://www.scout-soft.com/combine/
potresti usare lo script di PowerShell come questo
$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()
In Windows utilizzo un semplice comando in un file batch e utilizzo un'attività pianificata per mantenere tutte le informazioni in un solo file. Assicurati di scegliere un altro percorso per il file dei risultati, o Avrai dati duplicati.
type PathToOriginalFiles\*. Extension> AnotherPathToResultFile\NameOfTheResultFile.Extension
Se hai bisogno di unirti a molti file CSV, una buona cosa da fare è avere l'intestazione in un solo file con un nome come 0header.csv , o un altro nome, in modo che sia sempre il primo file in elenca e assicurati di programmare tutti gli altri file CSV per non contenere un'intestazione.
Ho usato questo script su Windows PowerShell:
ForEach ($f in get-ChildItem *.sql) { type "$f" >> all.sql }
Esiste un comodo strumento di terze parti denominato FileMenu Tools, che offre diversi strumenti per il clic con il tasto destro come estensione di Windows Explorer.
Uno di questi è Split file/Join Parts, che fa e annulla esattamente quello che stai cercando.
Controllalo su http://www.lopesoft.com/en/filemenutools . Naturalmente, è solo Windows, poiché gli ambienti Unix hanno già molti strumenti per farlo.
So che questo è un vecchio post, ma l'ho trovato e ho trovato qualcuno che ha suggerito Total Mail Converter. Sono stato in grado di convertire la mia cartella con 2 file .msg in .txt. Permette anche di convertire in PDF e altri formati popolari.
È un ottimo strumento che mi fa piacere che qualcuno mi abbia suggerito in quanto mi farà risparmiare parecchi giorni.
Cordiali saluti: il mio progetto sta combinando i file .msg in un unico file di testo in modo che possa eseguire uno script per estrarre determinate informazioni dai file (ad es. Email e collegamenti). Invece di file 2k, posso lavorare con uno.