Odczytaj wiele plików z katalogu do pliku, separacja nowej linii

1

Mój skrypt to:

@echo off
setlocal EnableDelayedExpansion
set LF=^


rem ** The two empty lines are necessary
set "content="

for /f "delims=" %%x in ('dir /b /s D:\v\*.*') do (
  set "content=!content!%%x!LF!"
  echo. >>

)
echo(!content!>a.txt
endlocal

Przeczytałem wszystkie nazwy plików z katalogu D:\ i napisz do nich a.txt. Wygląd wygląda jak

D:\v\a.csvD:\v\b.txtD:\v\c.xml

Potrzebuję wyjścia

D:\v\a.csv 
D:\v\b.txt 
D:\v\c.xml

Jak mogę uzyskać znak nowej linii po każdej nazwie pliku?

user3051956
źródło

Odpowiedzi:

0

Jak mogę uzyskać znak nowej linii po każdej nazwie pliku?

Napisz je w for zamiast budować linię wyjściową.

Użyj następującego (znacznie uproszczonego) pliku wsadowego.

test.cmd:

@echo off
for /f "delims=" %%x in ('dir /b /s D:\v\*.*') do (
  echo %%x>>a.txt
)
endlocal

Nie mam dysku D: więc następujący test został uruchomiony na dysku F:

Przykładowy wynik:

F:\test>dir f:\v
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of f:\v

03/08/2016  08:40    <DIR>          .
03/08/2016  08:40    <DIR>          ..
02/08/2016  20:43                 0 a.csv
02/08/2016  20:43                 0 b.txt
02/08/2016  20:43                 0 c.xml
               3 File(s)              0 bytes
               2 Dir(s)  1,772,975,259,648 bytes free

F:\test>test

F:\test>type a.txt
F:\v\a.csv
F:\v\b.txt
F:\v\c.xml

F:\test>
DavidPostill
źródło
Dziękuję Ci. Ale kiedy próbowałem uruchomić powyższy kod, zapisywał tylko ostatnią nazwę pliku. W pliku wyjściowym a.txt widzę tylko jedną nazwę pliku, tj .: D: v.xml.Czy mógłbyś mi pomóc zapisać wszystkie wartości w a.txt.
user3051956
Przetestowałem to tutaj i działa dobrze.
DavidPostill
Czy możesz udostępnić pełny kod, który przetestowałeś?
user3051956
@ user3051956 Erm jest w odpowiedzi ...
DavidPostill
Dziękuję bardzo za pomoc. To działa od mojego końca. Ale potrzebuję od ciebie pomocy. Innym wymaganiem jest dodanie znacznika czasu do wszystkich plików przechowywanych w pliku a.txt. Załóżmy, że w a.txt mamy pliki takie jak a.csv, b.txt, c.xml, do tego potrzebujemy danych wyjściowych takich jak a_ (znacznik czasu) .csv, b_ (znacznik czasu) .txt, c_ (znacznik czasu) .xml.
user3051956