Объедините 2 текстовых файла в один в каждой подпапке и сохраните их в одной папке с датой и файлом с именем csv file. - PullRequest
0 голосов
/ 31 августа 2018

Я хотел объединить в каждой папке 2 существующие текстовые файлы в один и сохранить его в той же папке, что и .csv. Имя нового файла должно быть Дата и время.

for /r C:\Users\Juan\Desktop\Konturograph\ %%G in (*.txt) do (
xcopy "%%G" "G%% %date% %time:~0,2%-%time:~3,2%-%time:~6,2%".csv
echo %%G
)
pause

Я пытаюсь с этим, но это просто создать 2 .cvs. Я понятия не имею от Batch, и я думаю, что я очень далеко от моей цели, не могли бы вы мне помочь, пожалуйста?

Заранее большое спасибо.

Grüße Juan

1 Ответ

0 голосов
/ 31 августа 2018

Нет такого токена, как G%%. Если вы хотите скопировать файл с расширением .txt на .csv, используйте %%~nG для имени файла, исключая расширение.

@echo off
for /r "C:\Users\Juan\Desktop\Konturograph\" %%G in (*.txt) do (
    xcopy "%%G" "%%~nG %date% %time:~0,2%-%time:~3,2%-%time:~6,2%.csv"
    echo "%%G"
)
pause

Однако, если вы хотите объединить файлы, это не сработает. попробуйте что-то вроде:

@echo off
for /r "C:\Users\Juan\Desktop\Konturograph\" %%G in (*.txt) do (
    type %%G >> OUTPUT.csv
    echo "%%G"
)
pause

Вы не сможете использовать время в метке времени, так как время меняется во время каждого цикла, это изменит имя файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...