|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Замена после символа, вставка перед символом |
|
CMD/BAT - [решено] Замена после символа, вставка перед символом
|
Новый участник Сообщения: 49 |
Возможно ли такое реализовать на vbs или на bat - чтобы во всех текстовых файлах в папке, перед каждой строкой которая начинается с "ZZ0" вставлялось по две строки а в самой строке символы с 1 по 50-ый заменялись пробелами?
|
|
Отправлено: 02:42, 05-08-2012 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать @Echo Off SetLocal EnableDelayedExpansion Set SearchFor=ZZ0 Set String1=Test 123 Set String2=A random string Set Ext=txt Set WorkDir=test rem Получаем список нужных файлов For /F "delims=" %%A In ('Dir "%WorkDir%\*.%Ext%" /B') Do ( rem Проверка на то, есть ли в файле искомые символы Find "%SearchFor%" "%WorkDir%\%%~A">nul&&( If Exist "%TEMP%\tmpfile.tmp" Del "%TEMP%\tmpfile.tmp" rem Обработка файла построчно For /F "delims=" %%B In (%WorkDir%\%%~A) Do ( rem Проверка на то, являются ли искомые символы началом строки Set String=%%B If "!String:~,3!"=="%SearchFor%" ( rem Дописываем две строки перед найденной и саму строку с заменой первых пятидесяти символов пробелами >>"%TEMP%\tmpfile.tmp" ( Echo.%String1% Echo.%String2% Echo. !String:~50! ) ) Else ( Echo %%B>>"%TEMP%\tmpfile.tmp" ) ) rem Удаляем оригинал и переносим на его место временный файл Del "%WorkDir%\%%~A"&&Move "%TEMP%\tmpfile.tmp" "%WorkDir%\%%~A" ) ) Pause&Exit |
Отправлено: 05:37, 05-08-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:07, 05-08-2012 | #3 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать AlexVong, исправил, забыл в for путь в скобки заключить
@Echo Off SetLocal EnableDelayedExpansion Set SearchFor=ZZ0 Set String1=Test 123 Set String2=A random string Set Ext=txt Set WorkDir=D:\test 123 rem Получаем список нужных файлов For /F "delims=" %%A In ('Dir "%WorkDir%\*.%Ext%" /B') Do ( rem Проверка на то, есть ли в файле искомые символы Find "%SearchFor%" "%WorkDir%\%%~A">nul&&( If Exist "%TEMP%\tmpfile.tmp" Del "%TEMP%\tmpfile.tmp" rem Обработка файла построчно For /F "usebackq delims=" %%B In ("%WorkDir%\%%~A") Do ( rem Проверка на то, являются ли искомые символы началом строки Set String=%%B If "!String:~,3!"=="%SearchFor%" ( rem Дописываем две строки перед найденной и саму строку с заменой первых пятидесяти символов пробелами >>"%TEMP%\tmpfile.tmp" ( Echo.%String1% Echo.%String2% Echo. !String:~50! ) ) Else ( Echo %%B>>"%TEMP%\tmpfile.tmp" ) ) rem Удаляем оригинал и переносим на его место временный файл Del "%WorkDir%\%%~A"&&Move "%TEMP%\tmpfile.tmp" "%WorkDir%\%%~A" ) ) Pause&Exit |
Отправлено: 13:16, 05-08-2012 | #4 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Спасибо!!! Все работает....
|
|
Отправлено: 13:31, 05-08-2012 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Замена определённых символов и вставка текста. | aggressor_ | Скриптовые языки администрирования Windows | 9 | 29-05-2012 15:06 | |
Загрузка - После переустановки Vista->7 перед загрузкой OS получаю сообщение об ошибке | Anisimus | Microsoft Windows 7 | 6 | 16-12-2009 12:43 | |
[решено] Замена символа в строке, по номеру [PERL] | WestBronx | Вебмастеру | 1 | 22-03-2008 14:31 | |
Надчеркивание над символом | VVVas | Вебмастеру | 5 | 27-07-2004 00:54 | |
замена символа в тексте (PHP) | Casufi | Вебмастеру | 3 | 11-04-2003 11:07 |
|