Перейти к контенту

Строй-bat


Рекомендуемые сообщения

 Vadimische

Спасибо знающий, мне очень ты помог!

1)На счет 2-х знаков - спотыкались, знаем ))

2)вариант второй, мне больше подошел - смелость взял, немного изменив - выглядит теперь вот так:

 

net view>>net.db
set i=0
for /F "tokens=2" %%u in ('FINDSTR /B "\\" net.db') do (
set /A i=!i! + 1
set usr!i!=%%u
)
set o=0
for /F "tokens=1" %%c in ('FINDSTR /B "\\" net.db') do (
set /A o=!o! + 1
set comp!o!=%%c
)
del /F /Q net.db

Код не весь, здесь только лиш кусочек )

кому и если пригодится, то здесь и целый есть:

 

@ECHO OFF
chcp 866
title "ЋвЇа ўЄ  б®®ЎйҐ­Ё© ў «®Є «м­®© бҐвЁ"
color f9
mode con cols=50 lines=30
@sc config messenger start= auto 
@net start messenger
:1
setlocal enabledelayedexpansion
net view>>net.db
set i=0
for /F "tokens=2" %%u in ('FINDSTR /B "\\" net.db') do (
set /A i=!i! + 1
set usr!i!=%%u
)
set o=0
for /F "tokens=1" %%c in ('FINDSTR /B "\\" net.db') do (
set /A o=!o! + 1
set comp!o!=%%c
)
del /F /Q net.db
CLS
echo.
echo   ^|===========================================^|
Echo   ^| 0^| ЋвЇа ўЁвм ‚‘…Њ о§Ґа ¬ Ё Є®¬Ї ¬ ў бҐвЁ  ^|
echo   ^|--^|----------------------------------------^|
if not "%usr1%"=="" (Echo   ^| 1^| ћ§Ґа: %usr1%)
if not "%usr2%"=="" (Echo   ^| 2^| ћ§Ґа: %usr2%)
if not "%usr3%"=="" (Echo   ^| 3^| ћ§Ґа: %usr3%)
if not "%usr4%"=="" (Echo   ^| 4^| ћ§Ґа: %usr4%)
if not "%usr5%"=="" (Echo   ^| 5^| ћ§Ґа: %usr5%)
if not "%usr6%"=="" (Echo   ^| 6^| ћ§Ґа: %usr6%)
if not "%usr7%"=="" (Echo   ^| 7^| ћ§Ґа: %usr7%)
if not "%usr8%"=="" (Echo   ^| 8^| ћ§Ґа: %usr8%)
if not "%usr9%"=="" (Echo   ^| 9^| ћ§Ґа: %usr9%)
if not "%usr10%"=="" (Echo   ^|10^| ћ§Ґа: %usr10%)
echo   ^|--^|----------------------------------------^|
if not "%comp1%"=="" (Echo   ^|11^| Љ®¬Ї: %comp1:~2%)
if not "%comp2%"=="" (Echo   ^|12^| Љ®¬Ї: %comp2:~2%)
if not "%comp3%"=="" (Echo   ^|13^| Љ®¬Ї: %comp3:~2%)
if not "%comp4%"=="" (Echo   ^|14^| Љ®¬Ї: %comp4:~2%)
if not "%comp5%"=="" (Echo   ^|15^| Љ®¬Ї: %comp5:~2%)
if not "%comp6%"=="" (Echo   ^|16^| Љ®¬Ї: %comp6:~2%)
if not "%comp7%"=="" (Echo   ^|17^| Љ®¬Ї: %comp7:~2%)
if not "%comp8%"=="" (Echo   ^|18^| Љ®¬Ї: %comp8:~2%)
if not "%comp9%"=="" (Echo   ^|19^| Љ®¬Ї: %comp9:~2%)
if not "%comp10%"=="" (Echo   ^|20^| Љ®¬Ї: %comp10:~2%)
echo   ^|===========================================^|
set /p user=  ^| ‚лЎЁаЁвҐ а : [0,1,2,3...]:
set user=%user:~0,2%
set /p msg=  ^| ‚ўҐ¤Ё бў®Ґ б®®ЎиҐ­ЁҐ:
SET user1=* 
if %user%==0 set user1=* 
if %user%==1 set user1=%usr1%
if %user%==2 set user1=%usr2%
if %user%==3 set user1=%usr3%
if %user%==4 set user1=%usr4%
if %user%==5 set user1=%usr5%
if %user%==6 set user1=%usr6%
if %user%==7 set user1=%usr7%
if %user%==8 set user1=%usr8%
if %user%==9 set user1=%usr9%
if %user%==10 set user1=%usr10%
if %user%==11 set user1=%comp1:~2%
if %user%==12 set user1=%comp2:~2%
if %user%==13 set user1=%comp3:~2%
if %user%==14 set user1=%comp4:~2%
if %user%==15 set user1=%comp5:~2%
if %user%==16 set user1=%comp6:~2%
if %user%==17 set user1=%comp7:~2%
if %user%==18 set user1=%comp8:~2%
if %user%==19 set user1=%comp9:~2%
if %user%==20 set user1=%comp10:~2%
net send %user1%%msg%
goto 1
ENDLOCAL

 

 

 

 

http://yadi.sk/d/B6MJDq7O3w3L1

Ссылка на комментарий

1) параметр ставит "службу сообщений" в режим авто-запуска,

2) собственно запускает эту службу. 

так как в XP - служба эта, отключена поумолчанию - приходится извращаться,

но это еще цветочки в "ВИСТЕ" И "СЕМЁРКЕ" она вообще отсутствует   :dash2::big_boss:

Изменено пользователем ted.80
Ссылка на комментарий

 ~ Переделанные сборщики секций из *.ltx файлов ~

 

Вариант 1 : Собирает все секции вида [...], оставляя полностью всю строку с комментариями ( [wpn_fn2000_comp]:identity_immunities ; Штурмовая винтовка ФН2000 )

@ECHO OFF
if not exist *.ltx exit
if exist Sections\nul ( del /Q Sections\*.* ) else mkdir Sections
for %%a in ( "*.ltx" ) do findstr /B "[" %%a > Sections\%%~na.txt
exit
 

 

-------------------------------

Вариант 2 : Собирает все секции вида [...], оставляя только саму секцию ( [wpn_fn2000_comp]:identity_immunities )

@ECHO OFF
if not exist *.ltx exit
if exist Sections\nul ( del /Q Sections\*.* ) else mkdir Sections
SETLOCAL EnableDelayedExpansion
for %%a in ( "*.ltx" ) do (
for /F "delims=;" %%b in ( 'findstr /B "[" %%~na.ltx' ) do (
@echo %%b >> Sections\%%~na.txt
 )
)
endlocal
exit
 
Ссылка на комментарий

Что бы открыть папку можно воспользоваться следующим кодом :

start explorer.exe "путь\имя_папки"
П.С. У "Starter_a" в батниках из шапки темы ошибочно ( наверно ) указан следующий код для открытия папки :
start "путь\имя_папки"
Собственно, почему ошибочно? Оба способа делают абсолютно одно и тоже. При этом, в случае примера Starter'а указывать путь в кавычках нельзя, у тебя же приемлемы оба варианта.

ColR_iT

Изменено пользователем ColR_iT
Ссылка на комментарий

ColR_iT, "Ошибочно", потому что команда "start" изначально предназначена для запуска приложений ( на Win XP при попытке открытия папки такой командой выходит либо ошибка, либо в окне CMD_шника просто будет указан заданный путь )

Могу записать видео, где при помощи такой строки:



start имя_диска:\имя_папки\имя_папки

можно открыть указанную папку через командную строку.
ColR_iT



ColR_iT

можно открыть указанную папку через командную строку

 

Через командную строку ( консоль ) действительно можно открыть папку, НО же я говорил про работу БАТ_ника, а не консоли  :ny_ph34r_1:

 

А что, .bat файл выполняется через что-то другое?  :ny_huh: 

Держи: >>ClicK Me<<. Запусти и увидишь как откроется папка Windows с диска C:, если у тебя система стоит на нём.

ColR_iT



Тааак, вот так открывается : start C:\Windows , а вот так нет : start C:\WINDOWS ( или открывает но с ооочень большим затормаживанием )

 

П.С. Вот я по этому и утверждал 

Ладно, спор закрываем, т.к. возможно эта проблема только у меня  :ny_happy:

Изменено пользователем Vadimische
Ссылка на комментарий

Перезалейте  пожалуйста ( у кого осталось ) работу Charsi, со стр. 4, по вытаскиванию списком текстур, шейдеров, костей, материалов и анимаций (если они есть) из модели *.ogf*. Ссылка мертва.

"Кругом зомби.....у меня кончаются патроны...."

Ссылка на комментарий

Есть проблема, просьба помочь:

Нужно, чтобы батник находил в логе игры строки вида (пример) "! Fallback to default bump map: act\act_ecologs_suit_green_bump" и записывал их в отдельный текстовый файл missbumps.txt, оставляя только путь бампа, т.е. в нашем случае будет "act\act_ecologs_suit_green_bump".

Код я написал аналогично коду по вытаскиванию отсутствующих в игре текстур:

@echo off


if exist missbumps.txt del /q missbumps.txt
for /f "tokens=1-3* delims='" %%a in ('FINDSTR /I /C:"Fallback to default bump map" xray_dmitri.log') do @echo.%%c>>missbumps.txt
pause

 

Батник не работает. Текстовый файл получается пустой.

Ссылка на комментарий

@Starter, я не программист, так... балуюсь.

 

Хотел вот чё спросить, подскажите как лучше написать .bat для запуска нескольких других .bat'ников?

 

Написал чёт типа этого, но тут для одного:

cd Путь к папке
имя_файла.bat
Если клонировать, последующие не выполняются, только первый.

 

Конкретно, есть папка, допустим First, в ней .bat файл и папка Second, а в этой папке ещё 2 .bat файла, и один из них в следующей папке Third.

Запускаю .bat файл в папке First, с кодом:

cd Second
Файл_1.bat
cd Second\Third
Файл_2.bat
При запуске, срабатывает только первый.

 

Хотелось бы разобраться, а то клепать по многу bat'ников - не хотца.

 

Уже много перечитал статей, а ничё толкового пока не обнаружил...

Изменено пользователем aka_sektor

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

Ссылка на комментарий

Жень, а вот это - не твой случай?

 

Иногда, при выполнении пакетного файла, возникает необходимость запустить другой пакетный файл. Причем, в некоторых случаях, выполнение основного пакетного файла должно быть приостановлено, пока выполняется вспомогательный файл, а в других вспомогательный файл должен работать параллельно с основным.


Для примера создадим два bat файла. Один с именем 1.bat и содержащий всего одну команду

call 2.bat

Второй с именем 2.bat и также содержащий одну команду

pause

Теперь запустим файл 1.bat Откроется окно, в котором будет предложено нажать любую клавишу для продолжения, после нажатия которой окно закроется. Таким образом, вызов из одного пакетного файла другого при помощи команды call останавливает исполнение пакетного файла до тех пор, пока не завершится выполнение пакетного файла, вызванного командой call.
В другом случае, надо запустить из bat файла либо приложение, либо другой пакетный файл, не прерывая выполнения основного пакетного файла. Такое нередко бывает нужно сделать, например, принудительно открыв лог работы пакетного файла, запланированного на ночь, чтобы с утра, пользователь мог проконтролировать правильность его выполнения. Для этого используется команда start Исправим в файле 1.bat строку на

start 2.bat

и запустим файл 1.bat Теперь открылось окно, в котором для продолжения надо нажать любую кнопку, а окно основного пакетного файла (1.bat) отработав закрылось.
Таким образом, для вызова из одного пакетного файла другого, без остановки работы первого пакетного файла, нужно применять команду start.
Рассмотренные команды start и call могут использоваться не только для запуска других пакетных файлов, но и для запуска любых приложений или открытия файлов.
Например, команда start log.txt, находящаяся в теле пакетного файла, откроет файл log.txt в Notepad без остановки работы пакетного файла.

 

Ссылка на комментарий

@Murarius, пробовал:

call Second\Файл_1.bat
Не запускает прогу вообще:

D:\Tool>call Asset\1_work.bat

D:\Tool>tool.exe
"tool.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Через верхний пример робит, так что дело не в проге.

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

Ссылка на комментарий

D:\Tool>tool.exe

 

- а оно там есть ?

В смысле, вот прямо d:\tool.exe, или d:\tool.com, или d:\tool.bat ?

И зачем стирать неизвестно где лежащую tool.exe командой > tool.exe ?

Ссылка на комментарий

@Dennis_Chikin, конечно.

D:\Tool\tool.exe

 

Вообще, прога на ключах работает, а если так запустить, то должна отобразится справка по ключам.

Я ж написал, дело не проге, через верхний пример работает, т.е. через этот:

 

 

cd Tool
Tool.exe
Но только так батник, не запускает несколько батников. Изменено пользователем aka_sektor

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

Ссылка на комментарий

@Dennis_Chikin, какой ещё скрипт? :unsure:

Отбой! ^_^ Уже разобрался.

 

Пришлось основательно перелопатить гугл, но я таки нашёл 100% рабочий вариант.

 

Собственно:

start /wait /d "Путь" Файл.bat
Изменено пользователем aka_sektor

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

Ссылка на комментарий

Доброго времени суток, подскажите батник к конвертеру в СДК, для конвертирования не конкретной ogf-модели, а всех имеющихся в папке...
Пробовал так, не помогает...

converter -ogf -bones *.ogf
done
Изменено пользователем CuJIbBEP
  • Нравится 2

h-264.jpg

Ссылка на комментарий

CuJIbBEP, 

@echo start working
@echo off
for /r "%~dp0" %%a in (.) do (
    pushd "%%a"
for %%f in (*.ogf,*.dm) do if not exist %%~nf.object ("%~dp0converter.exe" -object %%f)
    popd
)
@echo done!
pause
  • Спасибо 1
  • Нравится 3
Cоветы,по какому либо делу стоит давать только тогда, когда умеешь делать это дело лучше того, кого пытаешься наставлять.
Ссылка на комментарий

@Starter, не пробовал использовать Windows PowerShell? Он вроде бы более гибок и создавался как замена морально устаревшему cmd.exe. Было бы круто увидеть примеры с ним)

P.S.: Извините, если оффтоп

Ссылка на комментарий

Батник для xrAI ТЧ, пересборка локальных графов для каждого уровня, прописанного в game_maps_single.ltx:

@echo off
for /f "usebackq tokens=*" %%a in ("gamedata\config\game_maps_single.ltx") do (
	if exist "gamedata\levels\%%~a\" (
	echo.compile graph for level "%%~a"
	start /wait bins\compiler_ai\xrAI.exe -g %%~a
	)
)
echo.
echo.Done!
pause>nul
Изменено пользователем naxac
  • Полезно 3

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...