Member 13806552 Ответов: 2

Windows cmd добавляющий файл


Я пытаюсь найти каталог с расширением файла .csv. Затем, как только он будет найден, добавьте содержимое в новый csv-файл. Когда я использую канал, я могу видеть файл .csv, но когда я копирую содержимое в новый файл, он не создается с содержимым, которое изначально было в файле .csv. Есть предложения?

Что я уже пробовал:

Это то, что я пробовал

реж "mydir" | команда findstr /д. CSV-файл &ГТ; файл.КШМ

2 Ответов

Рейтинг:
7

Richard MacCutchan

cd "mydir"
FOR %i in (*.csv) DO type %i >> newfile.csv


Рейтинг:
0

OriginalGriff

Используйте оператор вывода конкатенации ">>":

dir "mydir" | findstr /e .csv >> newfile.csv



Цитата:
Да, я попробовал это сделать и все равно получил тот же результат.


- Вы уверены? Потому что когда я пробую что то очень похожее это работает:
dir . | findstr /e .txt >> newfile.txt
Как и в этом случае:
D:\Temp>cd testdir

D:\Temp\testdir>dir
 Volume in drive D is GriffData
 Volume Serial Number is 4CA5-2F85

 Directory of D:\Temp\testdir

01/11/2018  13:36    <DIR>          .
01/11/2018  13:36    <DIR>          ..
01/11/2018  13:36               652 x.txt
               1 File(s)            652 bytes
               2 Dir(s)  640,177,086,464 bytes free

D:\Temp\testdir>dir . | findstr /e .txt >> newfile.txt

D:\Temp\testdir>type newfile.txt
01/11/2018  13:47                 0 newfile.txt
01/11/2018  13:36               652 x.txt

D:\Temp\testdir>dir . | findstr /e .txt >> newfile.txt

D:\Temp\testdir>type newfile.txt
01/11/2018  13:47                 0 newfile.txt
01/11/2018  13:36               652 x.txt
01/11/2018  13:47                92 newfile.txt
01/11/2018  13:36               652 x.txt

D:\Temp\testdir>


Member 13806552

Да, я попробовал это сделать и все равно получил тот же результат.

OriginalGriff

См. раздел обновленное решение.

Member 13806552

Спасибо за ответ я вижу что вы там сделали имена файлов добавляются к новому файлу я надеялся добавить фактическое содержимое так что если x.txt говорит "Привет, мир", а затем с помощью команды типа newfile.txt также будет отображаться "hello world" , а также я искал расширение, потому что файл самовоспроизводится, и я не знаю его имени, но буду хотеть только его содержимое.

OriginalGriff

Нет, вы должны использовать "type filename.csv" для каждого файла, чтобы получить содержимое, и это означает, что вам нужно начать смотреть на пакетные файлы или powershell - или проще, написать какой-то код, чтобы сделать это! :смеяться:
Это довольно тривиально, как, например, приложение на C#.