Mam 50 plików tekstowych w jednym katalogu.
Czy istnieje metoda wiersza polecenia systemu Windows do łączenia tych plików w jeden plik?
Korzystam z systemu Windows Vista .
Nie chcę wpisywać nazwy wszystkich plików.
Mam 50 plików tekstowych w jednym katalogu.
Czy istnieje metoda wiersza polecenia systemu Windows do łączenia tych plików w jeden plik?
Korzystam z systemu Windows Vista .
Nie chcę wpisywać nazwy wszystkich plików.
Odpowiedzi:
Nie chcę wpisywać nazwy wszystkich plików.
Łatwo tego uniknąć. Otwórz wiersz polecenia w tym folderze i wpisz następujące polecenie:
copy /b *.txt newfile.txt
Prasa Enter.
Teraz wszystkie pliki tekstowe w tym folderze uporządkowane według daty rosnącej zostaną scalone w jeden plik o nazwie newfile.txt.
Moim ostatecznym celem jest przechowywanie zawartości każdego pliku tekstowego w osobnej kolumnie arkusza Excel.
Oto samouczek, który może pomóc Ci osiągnąć „ostateczny cel”:
Scal wszystkie pliki CSV lub TXT w folderze w jednym arkuszu
Aby dodać nową linię na końcu każdego skonkatenowanego pliku, użyj type
zamiast w copy
następujący sposób:
type *.txt > newfile.txt
.txt
z newfile
i bam! Masz to.
type x.log.* > merged.log
bez pliku wsadowego. Nowe linie są dość łatwe w obsłudze.
type
przeszedł długą drogę od DOS 3.3. Nie wiedziałem, że możesz używać masek plików. Kiedy to się stało?
Zakładając, że mówisz o dołączaniu plików tekstowych, copy
możesz użyć polecenia, aby je połączyć:
copy file1+file2+file3 targetfile
Jeśli masz wiele plików, możesz zapętlić, dodając jeden plik na raz.
W przypadku plików binarnych dodaj /b
opcję „ ”:
copy /b file1+file2+file3 targetfile
Zakłada się, że wiesz, że pliki binarne, z którymi pracujesz, można dołączać jeden po drugim; jeśli nie, otrzymasz zbiór bezużytecznych danych.
Uruchom następujące polecenie w wierszu polecenia:
for %f in (*.txt) do type "%f" >> output.txt
output.txt
Poniższy plik .bat doda wszystkie pliki * .for, oprócz tego o nazwie XIT.for, do pustego pliku o nazwie MASTER.for
type NUL > MASTER.for
FOR %%G IN (*.for) DO IF NOT "%%G" == "XIT.for" copy /A MASTER.for+"%%G" && echo. >> MASTER.for
:)
for %f in (*.txt) do ((echo. & echo == %f == & echo. & type %f ) >> *.txt.dat )