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

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

Старожил


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

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


Цитата megaloman:
Я не понял, что Вы хотите.
Допустим, сейчас результат кода ! merged.bin. Что в этом Вас не устраивает?»
Я всегда копирую батник в папку, с которой нужно работать
Это быстрее, чем прописывать вручную пути каждый раз.
В первом коде он естественно добавлял код этого батника в результат, что в принципе не критично.
Что хочу - скопировать батник в папку, получить сумму всех бинарников, кроме этого батника

Цитата megaloman:
вот вариант с добавкой исключения из процесса батника и ! merged.bin»
Второй вариант прекрасен, как раз то, что нужно.
Чуть изменил - с выводом имени файла + лог в консольку
Код: Выделить весь код
@Echo Off
cls
>nul Chcp 1251
 	Set "BoxIn=%~dp0"
rem	Set "BoxIn=Z:\Box_In"
	Set "Mask=*.*"
	If "%BoxIn:~-1%"=="\" Set "BoxIn=%BoxIn:~0,-1%" 
rem	Set "FileOut=Z:\Box_Out\! merged.bin"
	Set "FileOut=%BoxIn%\! merged.bin"
	If Not Exist "%BoxIn%\%Mask%" (Echo Files "%BoxIn%\%Mask%" not found &Pause &Exit /B)
	FOR /F "usebackq delims=" %%f In (`2^>nul Where "%BoxIn%:%Mask%" ^|Find /I /V "%FileOut%" ^|Find /I /V "%~dpnx0"`) DO (
		Echo %%~nxf
		Echo ---%%~nxf--->>"%FileOut%"
		>>"%FileOut%" Echo.
		>nul Copy /b "%FileOut%"+"%%f" "%FileOut%" &GoTo :Begin
	)
	:Begin
	FOR /F "usebackq Skip=1 delims=" %%f In (`2^>nul Where "%BoxIn%:%Mask%" ^|Find /I /V "%FileOut%" ^|Find /I /V "%~dpnx0"`) DO (
		Echo %%~nxf
		>>"%FileOut%" Echo.
		>>"%FileOut%" Echo.
		Echo ---%%~nxf--->>"%FileOut%"
		>>"%FileOut%" Echo.
		>nul Copy /b "%FileOut%"+"%%f" "%FileOut%"
	)
Pause
Exit /B

Результат

Код: Выделить весь код
---11.txt.bin---

1111
11
11

---22.txt.bin---

2222
22
22

---33.txt.bin---

3333
33
33

---44.txt.bin---

4444
44
44

Последний раз редактировалось shadowbat, 25-02-2022 в 18:56.


Отправлено: 18:13, 25-02-2022 | #9