powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Замена подстроки в файле
9 сообщений из 9, страница 1 из 1
Замена подстроки в файле
    #39898549
tzarluk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день уважаемые форумчане!
Не могу решить проблему с заменой подстроки в текстовом файле

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
@echo off
cls
setlocal EnableExtensions EnableDelayedExpansion

set dir=%~dp0

	for /f "skip=1 delims=:" %%l in ('certutil -hashfile "%dir%0_calc_hashumm.sql" MD5') do (
		if %%l NEQ CertUtil (      
		   set file_hash=%%l
		   set file_name=0_calc_hashumm.sql
		   set infile=0_calc_hashumm.sql
		   set outfile=0_calc_hashumm2.sql
		   set find1=HASH_hashfile
		   for /f "delims=" %%n in (!infile!) do (
				set LINE=%%n
				set LINE2=!LINE:%find1%=%file_hash%!
				echo !LINE2!				
			)
		)
	)



Код получает хэш сумму файла, далее обрабатывает текстовый файл с запросом, подставляя на место параметра полученную хэш сумму.

В Моём случае эхо выводит что LINE2 равно:
LINE:=
а должно быть: EXECUTE PROCEDURE HASHBATFILEUPDATE('HASH_namefile','хэшсумма');


Если прописать текст внутри конструкции !LINE:%find1%=%file_hash%! то всё работает.
Без верхнего цикла получения хэш суммы тоже всё работает (с подстановкой переменных)
Прошу помощи форумчане!
...
Рейтинг: 0 / 0
Замена подстроки в файле
    #39898598
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вывод "certutil -hasfile" - три строки, а нужна только вторая ...
... но повезло
Код: plaintext
1.
2.
3.
4.
5.
@echo off
setlocal
for /f "eol=C delims=." %%A in ('certutil -hashfile %2 %1') do @set HASH=%%A
echo. "%HASH%"
echo. "%HASH: =%
endlocal
Код: plaintext
1.
2.
.cmd MD5 .conf
 "9d 66 87 49 f3 45 74 9f ec a1 76 f1 36 17 1a 2e"
 "9d668749f345749feca176f136171a2e
Переходите, в общем, на человеческий скриптовый язык.
...
Рейтинг: 0 / 0
Замена подстроки в файле
    #39898609
tzarluk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

Так я и работаю только со второй строкой. В Вашем случае если хэш сумма начнётся с "с" строка будет обрабатываться?

У меня проблема в подстановке в строку set LINE2=!LINE:%find1%=%file_hash%!
значений переменных find1 и file_hash
...
Рейтинг: 0 / 0
Замена подстроки в файле
    #39898636
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tzarluk
У меня проблема в подстановке в строку set LINE2=!LINE:%find1%=%file_hash%!

Так используй sed, например. Или тебе настолько критичен нативный cmd?..
...
Рейтинг: 0 / 0
Замена подстроки в файле
    #39898639
tzarluk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

К сожалению именно так(((
...
Рейтинг: 0 / 0
Замена подстроки в файле
    #39898677
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tzarluk
Так я и работаю только со второй строкой. В Вашем случае если хэш сумма начнётся с "с" строка будет обрабатываться?
Спрашивать то, что проверяется за пятнадцать секунд это такой модный тренд?
Код: plaintext
1.
for /f "eol=C delims=." %A in ('echo c c d') do @echo. "%~A"
 "c c d"
...
Рейтинг: 0 / 0
Замена подстроки в файле
    #39898785
tzarluk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно было просто убедится что мой фильтр тоже работает. Тем не менее вопрос не решён.
...
Рейтинг: 0 / 0
Замена подстроки в файле
    #39898910
tzarluk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, проблема решена.))
...
Рейтинг: 0 / 0
Замена подстроки в файле
    #39898915
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tzarluk,

Зачем cmd? Вам же сделали повершель.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Замена подстроки в файле
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]