Показать полную графическую версию : [решено] Запуск bat файла
Есть домен под Windows Server 2003х64 Enterprise.
Под него стоит UPS (Ippon). Для того чтобы сервак вырубился правильно, нужно написать исполняемый файл, который запустится перед выключением UPS. Вот беда, пишу файл
shutdown -s -f, расширение bat. Ну не запускаеться он, проскальзывает черненькое окно на 1 сек и исчезает. Причем пробовал запуск этого файла из totalcmander, тоже не запускаеться. А вот из обычного explorer запускается на ура. Как заставить файл запуститься нормально из под утилиты Ippon?
Вот, создал батник test.cmd, там для примера написал shutdown -i, вот что получилось:
C:\temp>shutdown -i
'shutdown' is not recognized as an internal or external command,
operable program or batch file.
C:\temp>pause
Press any key to continue . . .
Я так понимаю что explorer у меня запускаеться в 64bit режиме, а total в 32bit, может поэтому?
Petya V4sechkin
07-11-2008, 11:23
GuseV, возможно, у вас испорчена системная переменная PATH. Проверьте раздел реестра "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment", тип параметра Path должен быть REG_EXPAND_SZ. Кривые инсталлеры некоторых программ (например MySQL) изменяют тип на REG_SZ, в результате командный процессор не может найти файлы в системных папках.
А если VBS скриптом это сделать?
создай файл shutdown.vbs c содержимым:
CompName = inputBox("Введите имя ПК:")
Set objService = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\" & CompName & "\root\CIMV2")
If Err.Number <> 0 Then
WScript.Echo Err.Number & ": " & Err.Description
WScript.Quit
End If
For Each objOS In objService.ExecQuery("SELECT * FROM Win32_OperatingSystem")
Exit For
Next
'objOS.Reboot 'перезагрузка
objOS.Shutdown 'выключение
'objOS.Win32Shutdown 0 'Log Off
If Err.Number <> 0 Then
WScript.Echo Err.Number & ": " & Err.Description
WScript.Quit
End If
попробуй поэкспериментировать с ним...
А что если местонахождения файла указать напрямую с полным путем например "С:\WINDOWS\system32\shutdown.exe -s -f" или где там у Вас стоит система...
Попробую со скриптом, хотя в VBS скриптах не бум-бум.
На счет HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" »
прописал путь до файла, не в этом дело точно. Тут точно нужно копать в сторону версий 64 и 32.
Господа, решил проблемму таким способом:
Скопировал файл shutdown.exe с WinXP на сервер, в папку с исполняемым файлом. Написал в cmd:
shutdown.exe
shutdown -s -f
Все :oszone:
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.