1 (изменено: worsvch, 2011-07-04 17:24:59)

Тема: jscript: Run дает не тот результат который нужен

Уважаемые эксперты, нужно выводить результат команды netstat в текстовый файл, но строка

netstat.run("%COMSPEC% /q/c netstat -an >users.txt");

создает пустой файл и ничего туда не пишет, Ради интереса попробовал тоже самое с командой ping, результат был положительный.
Можно написать батник, но скрипт выполняет еще кучу разных манипуляций с созданным файлом, поэтому батник уже отпадает, остается jscript
Прошу вашего совета.

2

Re: jscript: Run дает не тот результат который нужен

worsvch, у меня работает.

Подозреваю, что Вы не видите «users.txt» там, где ожидаете увидеть. Проверьте работоспособность, указав полный путь, например, «c:\users.txt».

3

Re: jscript: Run дает не тот результат который нужен

worsvch, у меня вот в таком виде

var Shell = new ActiveXObject( "Wscript.Shell" );
Shell.run( "%COMSPEC% /q/c netstat -an >users.txt");

файл users.txt создаётся в текущем каталоге и на WinXP и на Win 7 x64

Я думаю, Вам лучше использовать строку запуска в виде

Shell.run( "%COMSPEC% /q/c netstat.exe -an >users.txt" , 0 , true );

т.к. у Вас команда .run( ... ) запускается без ожидания завершения, т.е. операторы, следующие за .run( ... ) уже будут выполняться в то время, пока netstat ещё работает, и вполне могут обращаться к файлу "users.txt", когда в него ещё не записана информация.

4 (изменено: worsvch, 2011-07-05 06:20:25)

Re: jscript: Run дает не тот результат который нужен

alexii пишет:

worsvch, у меня работает.

Подозреваю, что Вы не видите «users.txt» там, где ожидаете увидеть. Проверьте работоспособность, указав полный путь, например, «c:\users.txt».

Делал так, не помогает

5

Re: jscript: Run дает не тот результат который нужен

Spy00000 пишет:

Я думаю, Вам лучше использовать строку запуска в виде

Shell.run( "%COMSPEC% /q/c netstat.exe -an >users.txt" , 0 , true );

т.к. у Вас команда .run( ... ) запускается без ожидания завершения, т.е. операторы, следующие за .run( ... ) уже будут выполняться в то время, пока netstat ещё работает, и вполне могут обращаться к файлу "users.txt", когда в него ещё не записана информация.

Файл у меня тоже создается. Проблема в том, что он пустой, а в нем должна быть информация. Если тоже самое выполнять не через скрипт, а через "Пуск->выполнить", тогда получается нужный результат

6

Re: jscript: Run дает не тот результат который нужен

Спасибо, Ваш вариант помог, всего лишь надо было к команде netstat добавить расширение exe, то есть netstat.exe