alexfeel30 |
04-06-2017 15:15 2742039 |
Копирование строки из файла в файл
Здравствуйте! Нужно скопировать первую строку одного файла, и вставить в первую строку второго файла. Помогите сделать батник.
|
Код:
@Echo OFF
Set "File1=Z:\Box_In\Filename1"
Set "File2=Z:\Box_Arc\Filename2"
>"%File2%.tmp" (FOR /F "usebackq delims=" %%i IN ("%File1%") DO Echo %%i& GoTo :Continue)
:Continue
Copy /B "%File2%.tmp"+"%File2%" "%File2%.tmp" >nul
Move /Y "%File2%.tmp" "%File2%" >nul
|
greg zakharov |
04-06-2017 17:00 2742068 |
Код:
@echo off
setlocal enabledelayedexpansion
set "i=0" % rem : аргументы
for %%i in (%*) do set /a "i+=1"
if !i! neq 2 goto:err
3<"%~1" (set /p f=<&3)
echo !f!>"%~2:s"&&type "%~2">>"%~2:s"
more < "%~2:s" > "%~2"
endlocal
exit /b
:err
for %%i in (
"=> err: not enought parameters"
""
"Usage: %~n0 <from_file> <to_file>"
".e.g.: C:\src> %~n0 file1.txt file2.txt"
) do echo:%%~i
exit /b 3
|
alexfeel30 |
04-06-2017 19:13 2742099 |
megaloman,
Работает, но при повторном запуске во втором файле появляется вторая третья и тд. строки, можно сделать чтоб только заменялась первая строка без добавления новых строк?
greg zakharov,
Не разобрался как прописать путь к файлам, пробовал по разному, не работает.
|
alexfeel30,
Цитата:
Цитата alexfeel30
... при повторном запуске во втором файле появляется вторая третья и тд. строки, можно сделать чтоб только заменялась первая строка без добавления новых строк? »
|
Естественно будут добавляться. Есть второй файл и, как я понял постановку задачи, из первого файла добавляется первая строка в начало второго файла. Правда, Вы использовали выражение "вставить в первую" - как это понять? Или Вам надо вместо первой строки второго файла вставить первую сроку первого? Тогда, если реализовать такую постановку, батник можно запустить хоть 1000 раз с одинаковым результатом.
|
alexfeel30 |
04-06-2017 19:25 2742104 |
Цитата:
Цитата megaloman
Или Вам надо вместо первой строки второго файла вставить первую сроку первого? »
|
Да так и нужно.
|
Цитата:
Цитата alexfeel30
Не разобрался как прописать путь к файлам, пробовал по разному, не работает. »
|
Там же написано явным образом (и даже с примером) — параметрами пакетного файла.
|
alexfeel30 |
04-06-2017 19:52 2742108 |
Цитата:
Цитата megaloman
Тогда, если реализовать такую постановку, батник можно запустить хоть 1000 раз с одинаковым результатом. »
|
Да но текст в первой строке первого файла изменяется, и мне нужно чтобы при запуске батника, во втором файле в первой строке был такой же текст.
|
alexfeel30,
Код:
@Echo OFF
Set "File1=Z:\Box_In\filename1"
Set "File2=Z:\Box_Arc\filename2"
>"%File2%.tmp" (FOR /F "usebackq delims=" %%i IN ("%File1%") DO Echo %%i& more +1 "%File2%" &GoTo :Continue)
:Continue
Move /Y "%File2%.tmp" "%File2%" >nul
|
alexfeel30 |
04-06-2017 22:11 2742127 |
megaloman,
Работает, огромное спасибо.
|
еще вариант
Код:
@echo off
<file1.txt set /p s1=
>tmp (echo:%s1%& <file2.txt more +1)& >nul move tmp file2.txt
exit
|
Время: 03:09.
© OSzone.net 2001-