IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Операционные системы M$ (http://www.imho.ws/forumdisplay.php?f=2)
-   -   нужен грамотный help (*.bat-файлы) (http://www.imho.ws/showthread.php?t=100337)

Slavak 01.03.2006 03:10

нужен грамотный help (*.bat-файлы)
 
Нужен грамотный help по поводу создания такого рода *.bat-файлов: запуск, а потом соответственно остановка нескольких приложений с помощью *.bat-файла из ком.строки. Сам написал приблизительно такое
@echo off
start c:\Programs\file1.exe
start d:\work\fil2.exe
...
@echo on
exit

суть вопроса в том, как потом эти процессы грохнуть( т.е. тут file1.exe file2.exe просто некие проги, пусть будет хоть блокнот, не важно) главное- как потом их убить???
и еще, как правильно прописать путь типа \program files\..., те.е как вставить в ком. строку пробелы???
NEED HELP

Ghost 01.03.2006 10:43

Slavak
1. Пути и имена с пробелами тупо заключаются в кавычки.
2. Грохнуть процесс из консоли (типа никсового "kill -9") стандартными средствами винда, если не ошибаюсь, не позволяет. Подобные команды (вывод списка процессов и "убийство" процесса по PID'у) есть в NTResKit'е - файлы KILL.EXE и PULIST.EXE. Могу кинуть эти файлы куда-недь. Скопируй их потов в %windir%\system32 и используй как обычные команды. Или скачай и поставь NTResKit целиком.

СТРЕЛЕЦ 01.03.2006 10:43

Цитата:

Slavak:
как правильно прописать путь типа \program files\..., те.е как вставить в ком. строку пробелы
Длинные имена с пробелами пишем в кавычках "C:\Program Files\file1.exe".
Или переводим в короткий dos-формат (в dos-формате имена максимум 8-ми значные).
Если не вдаваться в подробности, простейший случай - c:\Progra~1\file1.exe

Про ВАТ-файлы можно почитать здесь _http://www.firststeps.ru/msoffice/win/bats/bats1.html

P.S. А вообще я предпочитаю такие задачи решать с помощью nnCron (_http://www.nncron.ru/help/help_ru.htm)
Широкие возможности запуска и остановки приложений по времени, по событию, по наличию процесса и т.д.

Псих 01.03.2006 14:22

Глянь еще по *.bat:
http://imho.ws/showthread.php?t=82935

Ghost 01.03.2006 15:12

Гыхм... Можно еще через VBS. Например, для "убийства" процесса "notepad.exe" нужно использовать такой вот скриптик:
Код:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
    ("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcessList
    objProcess.Terminate()
Next

Или даже не только "убивать", но и запускать через WSH:
Код:

var WshShell = WScript.CreateObject("WScript.Shell");
var RunProc = WshShell.Exec("notepad.exe");
WScript.Sleep(10);
RunProc.Terminate();


Slavak 02.03.2006 03:36

Цитата:

Подобные команды (вывод списка процессов и "убийство" процесса по PID'у) есть в NTResKit'е - файлы KILL.EXE и PULIST.EXE. Могу кинуть эти файлы куда-недь. Скопируй их потов в %windir%\system32 и используй как обычные команды. Или скачай и поставь NTResKit целиком.
гм, инфа полезная, файлы мож кинуть на мыло slavak@list.ru, а насчет этого NTResKit -че ето такое никак найтить не могу? :confused:

Ghost 02.03.2006 06:58

Файлы см. в ПМ. А ResKit - это набор дополнительных утилит для винды от мелкософта. Это сокращение от Resource Kit. Поиметь его можно и на самом мелкософте.


Часовой пояс GMT +4, время: 05:16.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.