|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Заменить в конце строк " /f на "/f >nul |
|
CMD/BAT - [решено] Заменить в конце строк " /f на "/f >nul
|
Новый участник Сообщения: 34 |
Профиль | Отправить PM | Цитировать |
|
Отправлено: 04:09, 14-10-2024 |
Ветеран Сообщения: 4396
|
Профиль | Отправить PM | Цитировать Типа такого?
Проверили последние два символа, и если требуется, то прилепили строку с символами, а после создали новый файл. @echo off setlocal enableextensions enabledelayedexpansion set "ext=.bat" set "addstr= >nul" set "compstr=/f" for /f "tokens=* delims=" %%i in ('dir "%~dp0*%ext%" /b /a-d') do ( set "src=%%~i" for /f "delims=" %%? in ('type "!src!"^& del /f /q "!src!"') do ( set "t=%%?" call set "tmpstr=%%t:~-2%%" if "!tmpstr!" NEQ "!compstr!" ( echo.!t!>>"!src!" ) if "!tmpstr!" EQU "!compstr!" ( call set "tmpstr=%%t%%%%addstr%%" echo.!tmpstr!>>"!src!" ) ) ) |
Последний раз редактировалось NickM, 14-10-2024 в 15:05. Отправлено: 07:33, 14-10-2024 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 34
|
Профиль | Отправить PM | Цитировать NickM,
1) Кавычки в обоих кодах - это часть обрабатываемого текста... 2) Нужно обработать только концы строк, заканчивающихся этим: Другими словами (для примера), input: Reg Add "HKCR\..HEXADEC" /v "гд_" /t REG_BINARY /d "ddff" /f Reg Add "HKCR\..HEXADEC" /v "гд_0" /t REG_NONE /d "dd,ff" /f :: Утилита Reg не поддерживает тип данных - hex(1): :: Проигнорирована строка "гд_1"=hex(1):dd,ff Reg Add "HKCR\..HEXADEC" /v "гд_2" /t REG_EXPAND_SZ /d "dd,ff" /f Reg Add "HKCR\..HEXADEC" /v "гд_" /t REG_BINARY /d "ddff" /f >nul Reg Add "HKCR\..HEXADEC" /v "гд_0" /t REG_NONE /d "dd,ff" /f >nul :: Утилита Reg не поддерживает тип данных - hex(1): :: Проигнорирована строка "гд_1"=hex(1):dd,ff Reg Add "HKCR\..HEXADEC" /v "гд_2" /t REG_EXPAND_SZ /d "dd,ff" /f >nul P.S. Смотрю в сторону Findstr... |
Последний раз редактировалось dassen, 14-10-2024 в 15:30. Отправлено: 09:46, 14-10-2024 | #3 |
fascinating rhythm Сообщения: 6577
|
Профиль | Отправить PM | Цитировать Хоть и не просили, тем не менее, вот вариант на Powershell v5.
Изменяются только те файлы, где есть искомый паттерн (в конце строки). |
------- Отправлено: 09:58, 14-10-2024 | #4 |
Новый участник Сообщения: 34
|
Профиль | Отправить PM | Цитировать DJ Mogarych,
Спасибо. Красиво. Однако именно для меня на текущиий момент бесполезно. Нужен именно CMD/BAT!!!!!!!!! P.S. До Powershell, наверное, доберусь уже на пенсии или еще позже... |
|
Отправлено: 10:44, 14-10-2024 | #5 |
Ветеран Сообщения: 4396
|
Профиль | Отправить PM | Цитировать Изменил код выше.
Проверили последние два символа и перезаписали файл. |
Отправлено: 10:47, 14-10-2024 | #6 |
Новый участник Сообщения: 34
|
Профиль | Отправить PM | Цитировать NickM,
СПАСИБО! именно то, что нужно! |
Отправлено: 11:01, 14-10-2024 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2010 - [решено] Как удалить все строки в Word 2010 по результатам работы "Поиск" и "Заменить"? | flev45 | Microsoft Office (Word, Excel, Outlook и т.д.) | 30 | 16-05-2019 20:42 | |
CMD/BAT - [решено] Если в строке есть 2-ва "ть" заменить на "ла" | papacoca | Скриптовые языки администрирования Windows | 5 | 31-12-2014 17:36 | |
CMD/BAT - [решено] Нужно создать "батник" - вырезать из "2.txt" первых n строк и вставить их в "1.txt" | temphard | Скриптовые языки администрирования Windows | 12 | 10-01-2014 18:36 | |
CMD/BAT - как удалить ">" из строки типа “>>…>>c:\program files\dir\mir\doc.skok” | akrav | Скриптовые языки администрирования Windows | 1 | 14-02-2008 16:35 | |
[решено] Ищу ссылку на описание команд в "Пуск" -> "Выполнить" | Volan | Microsoft Windows 2000/XP | 3 | 29-06-2006 15:50 |
|