Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копирование строки из файла в файл

Ответить
Настройки темы
CMD/BAT - [решено] Копирование строки из файла в файл

Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте! Нужно скопировать первую строку одного файла, и вставить в первую строку второго файла. Помогите сделать батник.

Отправлено: 15:15, 04-06-2017

 

Ветеран


Contributor


Сообщения: 2706
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@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

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 16:59, 04-06-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Код: Выделить весь код
@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

Отправлено: 17:00, 04-06-2017 | #3


Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman,
Работает, но при повторном запуске во втором файле появляется вторая третья и тд. строки, можно сделать чтоб только заменялась первая строка без добавления новых строк?

greg zakharov,
Не разобрался как прописать путь к файлам, пробовал по разному, не работает.

Отправлено: 19:13, 04-06-2017 | #4


Ветеран


Contributor


Сообщения: 2706
Благодарности: 1684

Профиль | Отправить PM | Цитировать


alexfeel30,
Цитата alexfeel30:
... при повторном запуске во втором файле появляется вторая третья и тд. строки, можно сделать чтоб только заменялась первая строка без добавления новых строк? »
Естественно будут добавляться. Есть второй файл и, как я понял постановку задачи, из первого файла добавляется первая строка в начало второго файла. Правда, Вы использовали выражение "вставить в первую" - как это понять? Или Вам надо вместо первой строки второго файла вставить первую сроку первого? Тогда, если реализовать такую постановку, батник можно запустить хоть 1000 раз с одинаковым результатом.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:21, 04-06-2017 | #5


Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата megaloman:
Или Вам надо вместо первой строки второго файла вставить первую сроку первого? »
Да так и нужно.

Отправлено: 19:25, 04-06-2017 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата alexfeel30:
Не разобрался как прописать путь к файлам, пробовал по разному, не работает. »
Там же написано явным образом (и даже с примером) — параметрами пакетного файла.

Отправлено: 19:30, 04-06-2017 | #7


Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата megaloman:
Тогда, если реализовать такую постановку, батник можно запустить хоть 1000 раз с одинаковым результатом. »
Да но текст в первой строке первого файла изменяется, и мне нужно чтобы при запуске батника, во втором файле в первой строке был такой же текст.

Отправлено: 19:52, 04-06-2017 | #8


Ветеран


Contributor


Сообщения: 2706
Благодарности: 1684

Профиль | Отправить PM | Цитировать


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

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:10, 04-06-2017 | #9


Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman,
Работает, огромное спасибо.

Отправлено: 22:11, 04-06-2017 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копирование строки из файла в файл

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Копирование первой строки из файла MultiMax Скриптовые языки администрирования Windows 27 08-03-2017 14:14
Как создать BMP файл из командной строки. Как работать с графикой из командной строки MKN Хочу все знать 22 23-03-2016 11:03
CMD/BAT - [решено] Копирование первой и последней строки из файла Elven Скриптовые языки администрирования Windows 6 23-05-2014 19:55
CMD/BAT - [решено] Копирование имени файла и определённой строки из него в другой файл Liquid Ocelot Скриптовые языки администрирования Windows 10 05-07-2013 09:35
CMD/BAT - [решено] Имя файла из строки копируемого файла. Seryoga204 Скриптовые языки администрирования Windows 20 16-03-2011 21:15




 
Переход