Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd)

Автор: lid111
Дата сообщения: 06.06.2009 01:40
Rush, класная вещь этот ваш скрипт, благодарствую - а то ещё бы с SET заморачивался, не соображая, в сущности, в ДОСе. Только не совсем понятно у вас с годами и месяцами - ведь они имеют всё-таки разную длину в днях. Видимо, подразумевается год - 365 дней, а месяц - 30?
Автор: Super Baby
Дата сообщения: 06.06.2009 02:46
Пытаюсь скачать из шапки:

Цитата:
Справка по командам в виде Html
_http://www.sendspace.com/file/w3ocs7

Ничего не получается. Не мог ли бы кто-нибудь перебросить на другой файл хостинг этот файл, пжл (rapidshare, ifolder, depositfiles)?
Автор: Rush
Дата сообщения: 06.06.2009 05:45
lid111

Цитата:
Видимо, подразумевается год - 365 дней, а месяц - 30?

Подразумевается год=1 году, а месяц одному месяцу.
Ничто ведь не мешает [more=поэкспериментировать на достаточно больших промежутках и сравнить правильность ответов]
Для облегчения сравнения результаты записываются в файл.

Код: date1 = inputbox("Введите дату №1" & vbcrlf & vbcrlf & vbcrlf & _
"Например - 01.01.2009 12:00:00", "Калькулятор разности дат", "01.01.2009 12:00:00")
date2 = inputbox("Введите дату №2" & vbcrlf & vbcrlf & vbcrlf & _
"Например - 05.06.2009 11:06:32", "Калькулятор разности дат", "05.06.2009 11:06:32")
arr = array("yyyy", "m", "d", "h", "n", "s")
arr1 = array("лет = ", "месяцев = ", "дней = ", "часов = ", "минут = ", "секунд = ")
for i = 0 to ubound(arr)
sd = datediff(arr(i), cdate(date1), cdate(date2), 2)
res = res & arr1(i) & sd & vbcrlf
next
'msgbox res
set fso = createobject("scripting.filesystemobject")
set resfile = fso.opentextfile("c:\result.txt", 8, true)
resfile.write "---------------------------------------------" & vbcrlf _
& "------------ " & cstr(now) & " ------------" & vbcrlf _
& "---------------------------------------------" & vbcrlf & vbcrlf _
& "Начальная дата - " & date1 & vbcrlf _
& "Конечная дата - " & date2 & vbcrlf & vbcrlf & res & vbcrlf
resfile.close
Автор: lid111
Дата сообщения: 06.06.2009 17:18
Rush, я вам ПМ послал - не заметили?
Автор: Rush
Дата сообщения: 07.06.2009 03:02
lid111

Цитата:
Rush, я вам ПМ послал - не заметили?

Да, вроде, давно уже ответил. Продублировал.
Автор: artem1982
Дата сообщения: 07.06.2009 03:49
Никто не напишет,как сделать,чтобы при запуске игры,запускалось YASU и автоматом нажимало Cloak?
Автор: Engaged Clown
Дата сообщения: 07.06.2009 12:53
artem1982
Посмотри в сторону AutoIt или s0m
Автор: Scream_Wolf
Дата сообщения: 09.06.2009 13:15
ХЕЛП!!! Как осуществить следующее:

Код: echo.for /f "tokens=1,2,3 delims=:" %%%a in ("%time:~0,8%") do (set hh=%%%a) ^& (set mm=%%%b) ^& (set ss=%%%c) >txt.bat
Автор: ScreamWolf
Дата сообщения: 09.06.2009 13:29

Цитата:
echo.for /f "tokens=1,2,3 delims=:" %%%a in ("%time:~0,8%") do (set hh=%%%a) ^& (set mm=%%%b) ^& (set ss=%%%c) >txt.bat


Получаеться...

Код: for /f "tokens=1,2,3 delims=:" %time:~0,8%a) & (set mm=%%c)
Автор: Maza_Faka
Дата сообщения: 09.06.2009 14:13
Scream_Wolf

Код:
Echo for /f "tokens=1,2,3 delims=:" %%a in ("%%time:~0,8%%") do (set hh=%%%%a) ^& (set mm=%%%%b) ^& (set ss=%%%%c)>result.txt
Автор: ScreamWolf
Дата сообщения: 09.06.2009 14:52
Maza_Faka

Исправлена не точность...

Цитата:
Echo for /f "tokens=1,2,3 delims=:" %%%%a in ("%%time:~0,8%%") do (set hh=%%%%a) ^& (set mm=%%%%b) ^& (set ss=%%%%c)>result.txt


Работает спасибо!!!

И еще вопрос... 1.bat создает и запускает 2.bat. Вопрос: как отследить процесс (он ведь CMD.EXE а таких может быть несколько) дабы убить его потом (именно 2.bat) так же батником (taskkill /f /im "cmd.exe" - в этом случае он грохнет все имеющиесь CMD.exe в том числе и себя) При попытке просто удалить 2.bat cmd.exe прекращает выполняться и спрашивает о завершение пакетного файла т е нада нажимать Y/N...

Добавлено:
Помогите с батником...
[more=Код]
set h1=18
set h2=9
set m1=0
set m2=0
set s1=0
set s2=0
set timesleep=30
set /a TimeInSec1=(%h1%*60+%m1%)*60+%s1%
set /a TimeInSec2=(%h2%*60+%m2%)*60+%s2%
set /a timesleep+=1
start hs_message.exe "Server Controll ONLINE - ЗАПУЩЕН c %h2%:%m2%:%s2% до %h1%:%m1%:%s1% таймаут:%timesleep%сек" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" I OK
:scan
for /f "tokens=1,2,3 delims=:" %%a in ("%time:~0,8%") do (set hh=%%a) & (set mm=%%b) & (set ss=%%c)
set /a TimeInSec=(%hh%*60+%mm%)*60+%ss%
if %TimeInSec% GEQ %TimeInSec1% (goto :stop)
if %TimeInSec% Lss %TimeInSec2% (goto :stop)
set server=server1
set log=%temp%\%server%.scan
ping -n 1 %server% >%log%
find /i "ttl" "%log%"
if %errorlevel%==1 goto offline
:%server%
set server=server2
set log=%temp%\%server%.scan
ping -n 1 %server% >%log%
find /i "ttl" "%log%"
if %errorlevel%==1 goto offline
:%server%
set server=server3
set log=%temp%\%server%.scan
ping -n 1 %server% >%log%
find /i "ttl" "%log%"
if %errorlevel%==1 goto offline
:%server%
set server=server4
set log=%temp%\%server%.scan
ping -n 1 %server% >%log%
find /i "ttl" "%log%"
if %errorlevel%==1 goto offline
:%server%
set server=server5
set log=%temp%\%server%.scan
ping -n 1 %server% >%log%
find /i "ttl" "%log%"
if %errorlevel%==1 goto offline
goto scan
ffline
start hs_message.exe "Сервер %server% не доступен (не виден в сети)! Проверьте сетевые подключения сервера!" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" E OK
goto %srv%
:TurnOff
start hs_message.exe "Server Controll ONLINE - ОСТАНОВЛЕН по истечению времени!" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" I OK
del /q /s 1.bat
exit
[/more]

можно ли как-нибудь заставить батник, что-бы он спросил сколько будет серверов для проверки и после этого, в зависимости от указанного количества, спросил имя каждого сервера...

проводя проверку если например юзер отсутствует на месте, и если один из серверов недоступен, то на экране юзера будет полно выведеных сообщений (hs_message.exe)
как-бы сделать так, что бы например если server2 не доступен, то больше одного сообщения не выводилось, но при этом проверка ...и server2... продолжалась

еще бы был бы очень презнателен если в поможете с выводом лога батником...

содержание лога примерно следующее

Код:
01.01.2001 10:00:00 Запуск проверки
01.01.2001 11:00:00 Сервер server2 - недоступен
01.01.2001 12:00:00 Сервер server4 - недоступен
01.01.2001 13:00:00 Сервер server2 - доступен
01.01.2001 14:00:00 Сервер server4 - доступен
01.01.2001 15:00:00 Остановка проверки
Автор: William Gates
Дата сообщения: 09.06.2009 18:20
Всем привет!
Такая проблема. Нужно узнать внешний ip не используя браузер. Наковырял на форуме такой код
@echo off
setlocal

cmd /c wget -c http://www.myip.ru/ 1>nul 2>&1

for /f "tokens=4" %%i in ('findstr .title.* index.html') do set "ip=%%i"
echo %ip%
del index.html

но что-то не срабатывает. Wget уствновлен. Что может быть? Помогите, плз.
Автор: HaK1R
Дата сообщения: 09.06.2009 19:55
ScreamWolf

Цитата:
И еще вопрос... 1.bat создает и запускает 2.bat. Вопрос: как отследить процесс (он ведь CMD.EXE а таких может быть несколько) дабы убить его потом (именно 2.bat) так же батником (taskkill /f /im "cmd.exe" - в этом случае он грохнет все имеющиесь CMD.exe в том числе и себя) При попытке просто удалить 2.bat cmd.exe прекращает выполняться и спрашивает о завершение пакетного файла т е нада нажимать Y/N...

а попробуй убивать не по имени процесса а по PID

Добавлено:
ScreamWolf

Цитата:
можно ли как-нибудь заставить батник, что-бы он спросил сколько будет серверов для проверки и после этого, в зависимости от указанного количества, спросил имя каждого сервера...


Код: @echo off
set /p "NumberOfServers=Сколько серверов?"
for /l %%a in (1,1,%NumberOfServers%) do (
set /p "ServerName_%%a=Введите имя %%a-го сервера"
)
set ServerName
pause 1>nul
Автор: Maza_Faka
Дата сообщения: 10.06.2009 06:39
William Gates
HaK1R
Уже было:

Код:
@Echo Off

Set "TmpFile=%TEMP%\~tmp"

Del /F /Q "%TmpFile%">Nul 2>&1
wget -O"%TmpFile%" "http://whatismyip.com/automation/n09230945.asp" 2>Nul

Set /P _IP=<"%TmpFile%"

Echo %_IP%

Del /F /Q "%TmpFile%"
Автор: ScreamWolf
Дата сообщения: 10.06.2009 08:32
HaK1R
Выделонное красным не верно... на этой команде обрыв (не наю посиму ((((( )
[more=Тута код]
@echo off
set "report=report.txt"
set h1=18
set h2=9
set m1=0
set m2=0
set s1=0
set s2=0
set timesleep=30
set /a TimeInSec1=(%h1%*60+%m1%)*60+%s1%
set /a TimeInSec2=(%h2%*60+%m2%)*60+%s2%
set /a timesleep+=1
set /a MASS=0
set /p "NumberOfServers=Сколько серверов?"
for /l %%a in (1,1,%NumberOfServers%) do (
set /p "ServerName_%%a=Введите имя %%a-го сервера"
)
(echo %date% %time:~0,8% Запуск проверки) 1>>%report%
start hs_message.exe "Server Controll ONLINE - ЗАПУЩЕН c %h2%:%m2%:%s2% до %h1%:%m1%:%s1% таймаут:%timesleep%сек" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" I OK
:scan
for /f "tokens=1,2,3 delims=:" %%a in ("%time:~0,8%") do (set hh=%%a) & (set mm=%%b) & (set ss=%%c)
set /a TimeInSec=(%hh%*60+%mm%)*60+%ss%
if %TimeInSec% GEQ %TimeInSec1% (goto :stop)
if %TimeInSec% Lss %TimeInSec2% (goto :stop)
for /f "tokens=1* delims==" %%h in ('set ServerName') do (
ping -n 1 "%%i" | find /i "TTL=" 1>nul 2>&1
if %errorlevel% 1 (
(echo %date% %time:~0,8% Сервер %%i - недоступен) 1>>%report%
call ffline "%%i"
) else (
(echo %date% %time:~0,8% Сервер %%i - доступен) 1>>%report%
)
)
ping -n %timesleep% localhost 1>nul 2>&1
goto :scan
ffline
if MASS==0 (start hs_message.exe "Сервер %~1 не доступен (не виден в сети)! Проверьте сетевые подключения сервера!" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" E OK)
set /a MASS=1
goto :EOF
:stop
(echo %date% %time:~0,8% Остановка проверки) 1>>%report%
start hs_message.exe "Server Controll ONLINE - ОСТАНОВЛЕН по истечению времени!" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" I OK
goto :EOF [/more]


Цитата:
а попробуй убивать не по имени процесса а по PID

а как этим же (1.bat - который создает и запускает 2.bat) батником узнать PID зпущеного батника 2.bat (cmd.exe) если сам 1.bat так же висит в прцессах (!возможно не толбько он!)...


Цитата:
А зачем вот это дублировать?

Я просто не знал как
Цитата:
заставить батник, что-бы он спросил сколько будет серверов для проверки и после этого, в зависимости от указанного количества, спросил имя каждого сервера...
так что на этом спасибо большое, теперь будем знать =)

Maza_Faka - работает! СПАСИБО...

Цитата:
Echo Y | Del /F /Q 2.bat



Добавлено:
Простите за глупые вопросы, но
Цитата:
(echo %date% %time:~0,8% Сервер %%i - доступен) 1>>%report%

почему в скобках (если скобки не пренадлежат FOR'у)

и вопрос на засыпку: в команде GOTO :EOF - 9 (8-без пробела) знаков, когда команда EXIT - в 2 раза короче... зачем тогда использовать переход в конец файла, если можно просто выйти...?
Автор: William Gates
Дата сообщения: 10.06.2009 11:29
Maza_Faka
HaK1R

Спасибо!Работает отлично. А можно сохранить полученый ip в файле, в определённом каталоге. Напр., С:\IP\ip.txt?
Автор: ScreamWolf
Дата сообщения: 10.06.2009 12:06
William Gates


Код: @Echo Off
Set "TmpFile=%TEMP%\~tmp"
Set DR=%SYSTEMDRIVE%\IP
if not exist "%DR%" md "%DR%"
Del /F /Q "%TmpFile%">Nul 2>&1
wget -O"%TmpFile%" "http://whatismyip.com/automation/n09230945.asp" 2>Nul
Set /P _IP=<"%TmpFile%"
Echo IP-adress:%_IP% >%DR%\ip.txt
Del /F /Q "%TmpFile%"
start notepad %DR%\ip.txt
Автор: Maza_Faka
Дата сообщения: 10.06.2009 13:21
William Gates

Цитата:
А можно сохранить полученый ip в файле

WGET имеет такой ключ:

Код:
wget -O"С:\IP\ip.txt" "http://whatismyip.com/automation/n09230945.asp"
Автор: ScreamWolf
Дата сообщения: 10.06.2009 13:31
Maza_Faka

Цитата:
wget -O"С:\IP\ip.txt" "http://whatismyip.com/automation/n09230945.asp"

а каталог он тоже создаст?


Добавлено:
HaK1R
I - это окно ИНФОРМАЦИИ
E - окно ошибки
(W - предупреждение Q - вопрос)

Цитата:
Посмотри то что синем, привильно ли написано, утилита нет, сам не могу проверить, там во втором в конце Е вместо I появилось, не знаю, нормально ли это.


удаление 1.bat - это т.е. сам себя удалял...


Добавлено:
HaK1R

Цитата:
Я сейчас немного переделаю, не против?

я впринцыпе и мечтал об этом... ОГРОМНОЕ СПАСИБО
Автор: HaK1R
Дата сообщения: 10.06.2009 17:22
ScreamWolf

Цитата:
Простите за глупые вопросы, но
Цитата:
(echo %date% %time:~0,8% Сервер %%i - доступен) 1>>%report%

почему в скобках (если скобки не пренадлежат FOR'у)


это чтобы в файл не попадали лишние пробелы, в принцыпе можно без скобочек и единички


Цитата:
и вопрос на засыпку: в команде GOTO :EOF - 9 (8-без пробела) знаков, когда команда EXIT - в 2 раза короче... зачем тогда использовать переход в конец файла, если можно просто выйти...?


когда переходит в конец файла, заканчивается выполнение операции call, и он продолжает выполнение дальше с места вызова функции, а когда exit, он завершает программу, что нам не нужно


Цитата:
удаление 1.bat - это т.е. сам себя удалял...

тогда лучше не так

Код: del /f /q 1.bat
Автор: spider91
Дата сообщения: 10.06.2009 21:39
подскажите плиз как у всех файлов в папке убрать приставку New_ в начале
Автор: HaK1R
Дата сообщения: 10.06.2009 22:46
spider91

Код: pushd "C:\ada96faa1b7f6aeaef1414a08756\"
for /f %%i in ('dir /b /a-d') do (call :renfile "%%i")
popd
gotto :EOF

:renfile
set "name=%~1"
ren "%name%" "%name:~4%"
Автор: spider91
Дата сообщения: 10.06.2009 23:17
HaK1R


спасибо
Автор: ScreamWolf
Дата сообщения: 11.06.2009 10:29
HaK1R

Цитата:
когда переходит в конец файла, заканчивается выполнение операции call, и он продолжает выполнение дальше с места вызова функции, а когда exit, он завершает программу

За инфу - СПАСИБО

А вот это можно поконкретнее... что такое "%~0" ? и что значит привязан к имени в этом случае?

Цитата:
del /f /q 1.bat


а так(не будет привязан к имени)

Код:del /f /q "%~0"



Цитата:
А скинь мне ссылку на hs_message.exe а то я найти не могу

я брал в шапке... но сайтик не всегда доступен... если очень нада могу выложить архивчик...
[more=Предупреждаю!]AVAST рубит утилитам бошки![/more]

Цитата:
@echo off
for /f "tokens=1* delims==" %%h in ('set PR') do echo %%i

работает отдельно...

Добавлено:
HaK1R

Цитата:
pushd "C:\ada96faa1b7f6aeaef1414a08756\"
for /f %%i in ('dir /b /a-d') do (call :renfile "%%i")
popd
gotto :EOF

:renfile
set "name=%~1"
ren "%name%" "%name:~4%"


а у меня аналогичный вопрос... тока мне надо в конце каждого файла (файл является ярлыком - *.lnk) удалить слова с пробелом перед ним "_Управление" (ПОДЧЕРКИВАНИЕ - означает пробел)
Автор: HaK1R
Дата сообщения: 11.06.2009 19:05
ScreamWolf

Цитата:
А вот это можно поконкретнее... что такое "%~0" ? и что значит привязан к имени в этом случае?

%~0 это ссылка на данный файл
не привязан в смысле
del 1.bat будет работать если сам файл назван как 1.bat
а если del "%~0" то он может быть назван как угодно.

Цитата:
работает отдельно...

я тогда не знаю почему сбивается на той строчке

spider91
ScreamWolf
я там описался

Код: pushd "C:\ada96faa1b7f6aeaef1414a08756\"
for /f %%i in ('dir /b /a-d') do (call :renfile "%%i")
popd
goto :EOF

:renfile
set "name=%~1"
ren "%name%" "%name:~4%"
Автор: JsYPcvb1
Дата сообщения: 15.06.2009 10:26

Цитата:

День добрый!Подскажите как с помощью bat'а отправить файл на указанную по4ту 4ерез outlook.Спасибо.


бат зоздает файл архива на рабочем столе, так вот его и надо отправить по автомату. что нужно добавить в батник??
Автор: rainring
Дата сообщения: 16.06.2009 09:40
Нужен маленький батник, буду очень рад помощи!!!
нужно чтоб делалось следущее:
найти на всех дисках все папки (кроме системных) с именами Temp, TMP, не учитывая регистр имени папок, и удалить эти папки без вопросов. На дисках есть WinXP & Win 7
Автор: ScreamWolf
Дата сообщения: 16.06.2009 10:55
HaK1R

Цитата:
%~0 это ссылка на данный файл
не привязан в смысле
del 1.bat будет работать если сам файл назван как 1.bat
а если del "%~0" то он может быть назван как угодно.

спасибо за инфу...!!!


Цитата:
А скинь мне ссылку на hs_message.exe а то я найти не могу

с шапки не брал? ->
Цитата:
я брал в шапке... но сайтик не всегда доступен... если очень нада могу выложить архивчик...


Цитата:
я там описался
->
Цитата:
тока мне надо в конце каждого файла (файл является ярлыком - *.lnk) удалить слова с пробелом перед ним "_Управление" (ПОДЧЕРКИВАНИЕ - означает пробел)


подскажи плиз... и можно ли это сообразить так что бы в начале батника было set /p delstr=.... и кое-нить определение "с конца"/"с начала" искать и править имя... а то по работе частенько встречаються разнообразные группы файлов которые необходимо переименовывать, я конечно тоталом пробовал (вроде ниче), но хотелось бы просто разобраться как это можно при помощу батника делать...

Добавлено:
HaK1R

Цитата:
@echo off
set "report=report.txt"
set h1=18
set h2=9
set m1=0
set m2=0
set s1=0
set s2=0
set timesleep=30
set /a TimeInSec1=(%h1%*60+%m1%)*60+%s1%
set /a TimeInSec2=(%h2%*60+%m2%)*60+%s2%
set /a timesleep+=1
set /a MASS=0
set /p "NumberOfServers=Сколько серверов?"
for /l %%a in (1,1,%NumberOfServers%) do (
set /p "ServerName_%%a=Введите имя %%a-го сервера"
)
(echo %date% %time:~0,8% Запуск проверки) 1>>%report%
start hs_message.exe "Server Controll ONLINE - ЗАПУЩЕН c %h2%:%m2%:%s2% до %h1%:%m1%:%s1% таймаут:%timesleep%сек" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" I OK
:scan
for /f "tokens=1,2,3 delims=:" %%a in ("%time:~0,8%") do (set hh=%%a) & (set mm=%%b) & (set ss=%%c)
set /a TimeInSec=(%hh%*60+%mm%)*60+%ss%
if %TimeInSec% GEQ %TimeInSec1% (goto :stop)
if %TimeInSec% Lss %TimeInSec2% (goto :stop)
for /f "tokens=1* delims==" %%h in ('set ServerName') do (
ping -n 1 "%%i" | find /i "TTL=" 1>nul 2>&1
if %errorlevel% 1 (
(echo %date% %time:~0,8% Сервер %%i - недоступен) 1>>%report%
call ffline "%%i"
) else (
(echo %date% %time:~0,8% Сервер %%i - доступен) 1>>%report%
)
)
ping -n %timesleep% localhost 1>nul 2>&1
goto :scan
ffline
if MASS==0 (start hs_message.exe "Сервер %~1 не доступен (не виден в сети)! Проверьте сетевые подключения сервера!" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" E OK)
set /a MASS=1
goto :EOF
:stop
(echo %date% %time:~0,8% Остановка проверки) 1>>%report%
start hs_message.exe "Server Controll ONLINE - ОСТАНОВЛЕН по истечению времени!" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" I OK
goto :EOF
И еще... вверхнем коде raport.txt (лог) пишится в кодировке 866, можно ли как-нить его писать в 1251?
и все же никак... обрыв на for /f "tokens=1* delims==" %%h in ('set ServerName') ....
Пробовал отдельно такой батник:

Код: set ServerName=192.168.0.1
for /f "tokens=1* delims==" %%h in ('set ServerName') do (
ping -n 1 "%%i" | find /i "TTL=" 1>nul 2>&1
if %errorlevel% 1 (
echo %date% %time:~0,8% Сервер %%i - недоступен
) else (
echo %date% %time:~0,8% Сервер %%i - доступен
)
)
pause
Автор: HaK1R
Дата сообщения: 16.06.2009 20:15
ScreamWolf

Цитата:
с шапки не брал? ->

взял, ссылка работает

Цитата:
тока мне надо в конце каждого файла (файл является ярлыком - *.lnk) удалить слова с пробелом перед ним "_Управление" (ПОДЧЕРКИВАНИЕ - означает пробел)

в смысле из "Привет тебе.lnk" нкжно "тебе .lnk"?
Цитата:
еще... вверхнем коде raport.txt (лог) пишится в кодировке 866, можно ли как-нить его писать в 1251?

там где идет запись в файл, перед этой строчкой поставь новую строчку с chcp 1251 1>nul
а после строчки записи поставь строчку с chcp 866 1>nul


попробуй так

Код: set ServerName=192.168.0.1
for /f "tokens=1* delims==" %%h in ('set ServerName') do (
ping -n 1 "%%i" | find /i "TTL="
)
pause
Автор: HaK1R
Дата сообщения: 17.06.2009 16:44
ScreamWolf
вместо коментов ставишь свой код

Код: @echo off
setlocal enabledelayedexpansion

REM блаблабла
call :SeeProcess
REM запускаешь 2.bat
REM blablabla
call :KillProcess
REM blablabla
goto :EOF

:SeeProcess
for /f "tokens=2" %%i in ('tasklist ^| findstr /b cmd.exe') do (
set "PROCESSOR_PID=!PROCESSOR_PID!,%%i"
)
set "PROCESSOR_PID=%PROCESSOR_PID:~1%"
goto :EOF

:KillProcess
for /f "tokens=2" %%i in ('tasklist ^| findstr /b cmd.exe') do (
set "kill=1"
for /f "tokens=*" %%a in ('set PROCESSOR_PID ^| findstr "%%i"') do (
set "kill=0"
)
if !kill!==1 (taskkill /PID %%i 1>nul 2>&1)
)
goto :EOF

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: SAS.Планета (часть 2)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.