Войти

Показать полную графическую версию : [решено] wmic и ping не является внутреней или внешней командой


dima05605
11-12-2012, 22:14
Доброго времени суток! При выполнении кода пишет что wmic и ping не являются внутренними или внешними командами. Спасибо за помощь.


@echo off
:begin

if not exist start_server.txt goto :begin else goto :start_server

:start_server
Set file=exfile.txt
For /F "usebackq tokens=* delims=" %%i In ("%file%") Do Set exf=%%i
for /f "tokens=*" %%a in ('Dir /b/s/a-d C:\%exf%') Do Set path=%%a
echo %path%

set "wmic=wmic process call create "%path%" | findstr "ProcessId""
for /f "tokens=2 delims==;" %%i in ('"%wmic%"') do set "pid=%%i"
del start_server.txt

echo %pid% > pid.txt

ping -n 2 127.0.0.1

goto :begin

Petya V4sechkin
11-12-2012, 22:20
dima05605, убедитесь в наличии файлов:
\Windows\system32\wbem\wmic.exe
\Windows\system32\ping.exe

Ну и варианты в теме
[решено] Не работают команды в командной строке (http://forum.oszone.net/thread-129149.html)

dima05605
11-12-2012, 22:23
Если сделать так, то все работает прекрасно. Значит файлы на месте


@echo off
:begin

if not exist start_server.txt goto :begin else goto :start_server

:start_server

set "wmic=wmic process call create "C:\file.bat" | findstr "ProcessId""
for /f "tokens=2 delims==;" %%i in ('"%wmic%"') do set "pid=%%i"
del start_server.txt

echo %pid% > pid.txt

ping -n 2 127.0.0.1

goto :begin

Да и тем более проблема на двух компах одна и та же

Petya V4sechkin
11-12-2012, 22:28
for /f "tokens=*" %%a in ('Dir /b/s/a-d C:\%exf%') Do Set path=%%a
Батенька, вы зачем переменную Path переопределяете?
Она системная. Не надо так делать.

dima05605
11-12-2012, 22:36
Любую другую сделать?




© OSzone.net 2001-2012