2013-06-06 3 views
15

Sto usando PowerShell 3.Concatenare file usando PowerShell

Qual è la procedura migliore per concatenare i file?

file1.txt + file2.txt = file3.txt 

PowerShell fornisce una funzionalità per eseguire direttamente questa operazione? O ho bisogno di caricare i contenuti di ogni file in variabili locali?

+0

Eventuali duplicati di [? Come faccio a concatenare due file di testo in PowerShell] (http://stackoverflow.com/questions/8749929/how-do-i-concatenate-two-text-files-in-powershell) –

risposta

14

vorrei seguire questa strada:

Get-Content file1.txt, file2.txt | Set-Content file3.txt 

Utilizzare il parametro -Encoding su Set-Content se avete bisogno di qualcosa di diverso da ASCII, che è l'impostazione predefinita per Set-Content.

+1

+1 '-Path' è' [stringa []] 'vai con questo. –

+0

+1, io amo sempre questi semplici :) Ovviamente, Out-File sarebbe altrettanto buono. –

+0

@AthomSfere Sì e se si desidera che la codifica Unicode Out-File sia impostata come predefinita. –

30

Se tutti i file sono presenti nella stessa directory e possono essere confrontati con un modello semplice, il codice seguente combina tutti i file in uno solo.

Get-Content .\File?.txt | Out-File .\Combined.txt 
+1

'Get-Content ... | Out-File ... 'è probabilmente l'espressione più chiara di * mio * intento quando sto facendo qualcosa del genere. Non mi importa se riesco ad abbinare un modello semplice; ci sono molti modi per selezionare i file in PowerShell. La codifica predefinita per Out-File è per me più spesso corretta rispetto alla codifica predefinita per Set-Content; Out-File è impostato su Unicode e Set-Content è impostato su ASCII. –

0

una generalizzazione basata su @Keith risposta:

gc <some regex expression> | sc output

+0

mentre questa risposta sembra voler dire 'bash', la ragione per i nomi brevi sono alias in PowerShell - dove' gc' è Get-Content e 'sc' è Set-Content. – c69