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

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

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

Аватара для spilberg

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


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


Конфигурация

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


Нужен батник который сможет заменить в файле my.txt все пробелы на - и дописать вначале и в конце строчки несколько слов и вконце файла несколько строк.

Например фаил my.txt:
aaaaaaaa aaaaaaaaa
bbbbbbbb bbbbbbbbb
cccccccccc cccccccccccc

Надо чтоб он стал таким:
my aaaaaaaa-aaaaaaaaa you
my bbbbbbbb-bbbbbbbbb you
my cccccccccc-cccccccccccc you
hello
hi

Очень надо помогите пожалуйста если это возможно ((((

Отправлено: 01:13, 10-07-2009

 

Ветеран


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

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


Попробуйте что-то наподобие такого:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set strSourceFileName=%~1
set strTextBefore=%~2
set strTextAfter=%~3
set strFinishFileName=%~4

set strTempFileName=%temp%\tmp%random%.tmp
if exist "%strTempFileName%" del "%strTempFileName%"

if defined strSourceFileName (
    if exist "%strSourceFileName%" (
        for /f "tokens=* delims=" %%i in (!strSourceFileName!) do (
            set strLine=%%i
            echo %strTextBefore%!strLine: =-!%strTextAfter%>>"%strTempFileName%"
        )
        
        if exist "%strFinishFileName%" copy /b "%strTempFileName%"+"%strFinishFileName%" "%strTempFileName%" >nul
        move /y "%strTempFileName%" "%strSourceFileName%" >nul
    )
) else (
    echo Using: %~nx0 ^<File name^> ^<Text before^> ^<Text after^> ^<File name with finish text^>
)

endlocal
exit /b 0
Вызов пакетного файла:
Код: Выделить весь код
mycmd.cmd my.txt "my " you" finishtext.txt
где «finishtext.txt» — текстовый файл, содержащий финальные строки:
Код: Выделить весь код
hello
hi
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:06, 10-07-2009 | #2



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

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


Аватара для Maza Faka

Ветеран


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

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


spilberg
Быстро, эффективно и без проблем со спец. символами, если использовать SED.EXE
Код: Выделить весь код
@Echo Off

Type test.txt | Sed "s/ /-/g" | Sed "s/.*/my & you/g">result.txt
Echo hello>>result.txt
Echo hi>>result.txt

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 07:35, 10-07-2009 | #3


Аватара для Devils0411

Ветеран


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

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


Возможно ли средствами пакетного файла сделать следующее:
при команде ipconfig, выдает адрес компьютера. Как этот адрес скопировать и заменить в файле winnt.sif?

Код: Выделить весь код
[data]
AutoPartition=0
MsDosInitiated=1
AutomaticUpdates="yes"
UnattendedInstall="Yes"
floppyless="1"
LocalSourceOnCD=1
OriSrc="\\192.168.10.11\NETBOOT\WINXPSP3\INSTALL\I386"
OriTyp="4"

-------
Скрипт автоустановки WINDOWSXP; Скрипт мультиустановки ОС


Отправлено: 19:16, 19-07-2009 | #4


Googler


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

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


Devils0411, через WMI - без замены, но с добавлением в конец:
Код: Выделить весь код
@Echo On

Set WSIF=C:\TEST\winnt.sif

For /F "Tokens=2 Delims=={,} " %%i In ('WMIC NICCONFIG Where IPEnabled^=True Get IPAddress /Value^') Do Set $IP=%%~i
For /F "Tokens=2 Delims==" %%i In ('FindStr /IB "OriSrc=" "%WSIF%"') Do For /F "Tokens=1* Delims=\" %%a In (%%i) Do Set $V="\\%$IP%\%%b"

FindStr /VIB "OriSrc=" "%WSIF%" >"%TEMP%\%~n0.tmp"
Echo.>>"%TEMP%\%~n0.tmp"
Echo [data]>>"%TEMP%\%~n0.tmp"
Echo OriSrc=%$V%>>"%TEMP%\%~n0.tmp"

If Exist "%TEMP%\%~n0.tmp" Copy /Y "%TEMP%\%~n0.tmp" "%WSIF%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:44, 20-07-2009 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] замена строчки в файле Bint Скриптовые языки администрирования Windows 4 15-10-2009 10:24
CMD/BAT - [решено] удалить строчки из файла a.txt spilberg Скриптовые языки администрирования Windows 19 20-07-2009 17:49
[решено] Замена строчки в bat файле на несколько других ZeroCrash AutoIt 4 02-07-2009 04:12
CMD/BAT - [решено] Отделить последние цифры из строчки в текстовом файле ZeroCrash Скриптовые языки администрирования Windows 4 29-06-2009 16:03
[решено] Как убрать строчки операционных систем при загрузке компа z01 Microsoft Windows 2000/XP 2 16-07-2006 11:26




 
Переход