Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls
	Set "FileIn=Z:\Box_In\непостоянный файл.txt"
	Set "Fsprav=Z:\Box_In\постоянный справочник.txt"
	Set "WordIn=слово\"
	Set "WordInChm=выражение\"
	Set "Chm=.Chm"

	>nul 2>&1 Find "=%WordIn%"  "%FileIn%" &&(Echo File "%FileIn%" has already been processed &Pause &Exit /B)
	>nul 2>&1 Find "=%WordInChm%" "%FileIn%" &&(Echo File "%FileIn%" has already been processed &Pause &Exit /B)


	>"%FileIn%.tmp" (FOR /F "usebackq tokens=1* delims==" %%i In ("%FileIn%") DO (
		If "%%j"=="" (
			Echo %%i
		) Else (
			>nul FindStr /I /C:"%%j%Chm% " "%Fsprav%"&&(<nul Call Set /P Str=%%i=%WordInChm%&FindStr /I /C:"%%j%Chm%" "%Fsprav%")
	 		>nul FindStr /I /C:"%%j%Chm%" "%Fsprav%"||(
				>nul FindStr /I "%%j " "%Fsprav%"||(Echo %%i=%%j)
				>nul FindStr /I "%%j " "%Fsprav%"&&(<nul Call Set /P Str=%%i=%WordIn%&FindStr /I /C:"%%j" "%Fsprav%")
		))
	))
 	>nul Move /Y "%FileIn%.tmp" "%FileIn%"
pause
Exit /B
Файлы
"непостоянный файл.txt"
Код: Выделить весь код
[AllNames]
1=Алиса
2=Саша
3=Филипп
4=dfygt3
5=Сергей
6=ejhgrgej
7=Петя
"постоянный справочник.txt"
Код: Выделить весь код
Аня +дополнительное слово		1
Ася +дополнительное слово		2
Саша +дополнительное слово		3
Вася +дополнительное слово		4
Петя.chm +дополнительное слово		5
Ваня +дополнительное слово		6
Инокентий +дополнительное слово	7
Филипп.chm +дополнительное слово	8
Алиса +дополнительное слово		9
Эллис +дополнительное слово		10
Сергей +дополнительное слово	11
Вера  +дополнительное слово		12
Марина +дополнительное слово	13
"непостоянный файл.txt" после обработки
Код: Выделить весь код
[AllNames]
1=слово\Алиса +дополнительное слово		9
2=слово\Саша +дополнительное слово		3
3=выражение\Филипп.chm +дополнительное слово	8
4=dfygt3
5=слово\Сергей +дополнительное слово	11
6=ejhgrgej
7=выражение\Петя.chm +дополнительное слово		5

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

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

Отправлено: 18:43, 04-12-2022 | #20