:: Visual Foxpro, Foxpro for DOS
ошибка выполнения команды RUN
Sergio
Автор

Сообщений: 438
Откуда: Донецк
Дата регистрации: 16.06.2005
Добрый день!
Застрял в разработке своей программки....

У меня есть cmd файл. Называется testqq.cmd в папке C:\Temp
Содержимое файла - команда (текст)
powershell "quser /server:STERMF030" > C:\Temp\testquser.txt
Когда я её запускаю из Windows - у меня она отрабатывает нормально.
Результат в файле testquser.txt -
ПОЛЬЗОВАТЕЛЬ          СЕАНС              ID  СТАТУС  БЕЗДЕЙСТВ. ВРЕМЯ ВХОДА
 y.anokhin             ica-cgp#0           2  Активно          1  09.12.2022 1:17
 s.soloveva            ica-cgp#17          4  Активно          .  09.12.2022 7:02
Когда я пытаюсь запустить из Command Window так -
Run(C:\Temp\testqq.cmd)
В результирующем файле testquser.txt -
quser : Имя "quser" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте прав
ильность написания имени, а также наличие и правильность пути, после чего повторите попытку.
строка:1 знак:1
+ quser /server:STERMF030
+ ~~~~~
    + CategoryInfo          : ObjectNotFound: (quser:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Подскажите, пожалуйста, как заставить отрабатывать команду выполнения этого файла корректно?
Ratings: 0 negative/0 positive
Re: ошибка выполнения команды RUN
PaulWist

Сообщений: 14501
Дата регистрации: 01.04.2004
Что выводит:

Run(cmd /C powershell /? > C:\Temp\testquser.txt)


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/1 positive
Re: ошибка выполнения команды RUN
Sergio
Автор

Сообщений: 438
Откуда: Донецк
Дата регистрации: 16.06.2005
Выводит Help по PowerShell:
PowerShell[.exe] [-PSConsoleFile <файл> | -Version <версия>]
    [-NoLogo] [-NoExit] [-Sta] [-Mta] [-NoProfile] [-NonInteractive]
    [-InputFormat {Text | XML}] [-OutputFormat {Text | XML}]
    [-WindowStyle <стиль>] [-EncodedCommand <Base64EncodedCommand>]
    [-ConfigurationName <строка>]
    [-File <путь_к_файлу> <аргументы>] [-ExecutionPolicy <политика_выполнения>]
    [-Command { - | <блок_сценария> [-args <массив_аргументов>]
                  | <строка> [<параметры_команды>] } ]

PowerShell[.exe] -Help | -? | /?

-PSConsoleFile
    Загружает указанный файл консоли Windows PowerShell. Для создания файла
    консоли используйте командлет Export-Console в Windows PowerShell.

И так далее.
Ratings: 0 negative/0 positive
Re: ошибка выполнения команды RUN
PaulWist

Сообщений: 14501
Дата регистрации: 01.04.2004
Ну так, теперь запусти свой батник.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: ошибка выполнения команды RUN
Sergio
Автор

Сообщений: 438
Откуда: Донецк
Дата регистрации: 16.06.2005
Вы имеете в виду так запустить?
Run(cmd /C powershell quser /server:STERMF030 > C:\Temp\testquser.txt)
Ошибка та же в результирующем файле testquser.txt
quser : Имя "quser" не распознано как имя командлета, 
и т.д. Как и указано в первом посте...
Ratings: 0 negative/0 positive
Re: ошибка выполнения команды RUN
PaulWist

Сообщений: 14501
Дата регистрации: 01.04.2004
Кавычки поставить.

Run(cmd /C powershell "quser /server:STERMF030" > C:\Temp\testquser.txt)


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: ошибка выполнения команды RUN
ssa

Сообщений: 12951
Откуда: Москва
Дата регистрации: 23.03.2005
Sergio
Run(cmd /C powershell quser /server:STERMF030 > C:\Temp\testquser.txt)
Цитата:
powershell "quser /server:STERMF030" > C:\Temp\testquser.txt
Не находите, что
powershell quser /server:STERMF030
и
powershell "quser /server:STERMF030"
несколько разные команды?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/1 positive
Re: ошибка выполнения команды RUN
Sergio
Автор

Сообщений: 438
Откуда: Донецк
Дата регистрации: 16.06.2005
Вообще файл testquser.txt для меня - это костыль.
Мне нужно результат выполнения команд
powershell quser /server:STERMF030
powershell quser /server:STERMF031
powershell quser /server:STERMF032
и т.д. получать в переменную Foxpro. Меняется ,как Вы видите, только адрес опрашиваемого сервера, который я подставляю узнав ранее.
Сейчас я получаю результат в переменную так -
ls_users=Filetostr("C:\Temp\testquser.txt")
Не подскажете как это сделать без файла , сразу в переменную? Возможно и ошибка исчезнет...
Ratings: 0 negative/0 positive
Re: ошибка выполнения команды RUN
Sergio
Автор

Сообщений: 438
Откуда: Донецк
Дата регистрации: 16.06.2005
ssa
Sergio
Run(cmd /C powershell quser /server:STERMF030 > C:\Temp\testquser.txt)
Цитата:
powershell "quser /server:STERMF030" > C:\Temp\testquser.txt
Не находите, что
powershell quser /server:STERMF030
и
powershell "quser /server:STERMF030"
несколько разные команды?

Да, конечно разные, я попробовал так, как Вы говорите, но результат не изменился, ошибка та же.
Пробовал так :
Run(cmd /C powershell "quser /server:STERMF030" > C:\Temp\testquser.txt)
Ratings: 0 negative/0 positive
Re: ошибка выполнения команды RUN
Sergio
Автор

Сообщений: 438
Откуда: Донецк
Дата регистрации: 16.06.2005
Из текста ошибки вроде бы какой-то плюс вылезает в начале строки:
строка:1 знак:1
+ quser /server:STERMF030

Не пойму откуда он берётся...
Ratings: 0 negative/0 positive
Re: ошибка выполнения команды RUN
Sergio
Автор

Сообщений: 438
Откуда: Донецк
Дата регистрации: 16.06.2005
Как оказалось - не только в запуске из среды FoxPro возникает эта ошибка...
У меня есть программа для поиска файлов - Everything, я ей пользуюсь часто.
Так вот, нахожу я файл testqq.cmd программой Everything, запускаю из неё - в результирующем файле ошибка!
Если нахожусь с стандартном проводнике Windows 10 в папке с этой программой - папка C:\Temp, запускаю его - команда powershell отрабатывает корректно!
Мистика
Ratings: 0 negative/0 positive
Re: ошибка выполнения команды RUN
_vit

Сообщений: 5138
Дата регистрации: 29.07.2002
Скопируй quser.exe в папку C:\Windows\
Или какую другую и укажи путь к папке в системной переменной окружения винды Path в начале списка.

Только не C:\WINDOWS\system32
Не спрашивай почему.
Ratings: 0 negative/1 positive
Re: ошибка выполнения команды RUN
akvvohinc

Сообщений: 4001
Откуда: Москва
Дата регистрации: 11.11.2008
Я получаю ответ даже в том случае, если кладу quser.exe в любую папку (c:\qwerty), указывая путь к ней в самой команде.
Причем, даже сам quser.exe может называться иначе, например, 123.exe.

STRTOFILE([chcp 1252]+0h0d0a+[powershell C:\qwerty\123 > test.txt],[test.cmd])
ws = CreateObject('WScript.Shell')
ws.Run('test.cmd',2,.T.)
MODIFY COMMAND test.txt

Единственная разница - в выходном файле нет строки с шапкой:
ПОЛЬЗОВАТЕЛЬ          СЕАНС              ID  СТАТУС  БЕЗДЕЙСТВ. ВРЕМЯ ВХОДА
Ratings: 0 negative/1 positive
Re: ошибка выполнения команды RUN
Joys

Сообщений: 3483
Откуда: Старая Русса
Дата регистрации: 25.06.2000
Sergio
У меня есть программа для поиска файлов - Everything, я ей пользуюсь часто.
Так вот, нахожу я файл testqq.cmd программой Everything, запускаю из неё - в результирующем файле ошибка!
Если нахожусь с стандартном проводнике Windows 10 в папке с этой программой - папка C:\Temp, запускаю его - команда powershell отрабатывает корректно!
Мистика

Версия
Мне кажется нет никакой мистики. Фокс, и видимо Everything 32 битные. Проводник Windows 64 битный. И powershell используется разный. Раз с проводником все прокатывает, то ищите в инете как из под 32 битного софта запускать 64 битный POwershell
Ratings: 0 negative/1 positive
Re: ошибка выполнения команды RUN
akvvohinc

Сообщений: 4001
Откуда: Москва
Дата регистрации: 11.11.2008
Цитата:
Фокс, и видимо Everything 32 битные. Проводник Windows 64 битный. И powershell используется разный. Раз с проводником все прокатывает, то ищите в инете как из под 32 битного софта запускать 64 битный POwershell
Достаточно просто положить в папку 32-битного Powershell 32-битный quser.exe.



Исправлено 1 раз(а). Последнее : akvvohinc, 13.12.22 08:39
Ratings: 0 negative/1 positive
Re: ошибка выполнения команды RUN
akvvohinc

Сообщений: 4001
Откуда: Москва
Дата регистрации: 11.11.2008
_vit
Только не C:\WINDOWS\system32
Не спрашивай почему.
Раз спрашивать нельзя, то и ограничивать смысла не имеет, ведь работать будет и там.
Так что пусть это и нелогично, но ничто не мешает положить его и в C:\WINDOWS\system32.
Ratings: 0 negative/0 positive
Re: ошибка выполнения команды RUN
Sergio
Автор

Сообщений: 438
Откуда: Донецк
Дата регистрации: 16.06.2005
Спасибо, уважаемые, помогло!
Ratings: 0 negative/0 positive
Re: ошибка выполнения команды RUN
Sergio
Автор

Сообщений: 438
Откуда: Донецк
Дата регистрации: 16.06.2005
PaulWist
Кавычки поставить.
Run(cmd /C powershell "quser /server:STERMF030" > C:\Temp\testquser.txt)

Теперь команда
Run(cmd /C powershell "quser /server:STERMF030" > C:\Temp\testquser.txt)
отрабатывает правильно.
Я хочу пойти ещё дальше.
У меня есть переменная ls_quser_server
Её значение меняется, допустим в данный момент она равна
powershell "quser /server:STERMF011" > C:\Temp\testquser.txt
Я хочу запустить Run с этой переменной так, но у меня не работает:
Run(cmd /C ls_quser_server)
Но так почему-то не работает.
Подскажите, пожалуйста, как передать значение этой переменной в команду Run ?



Исправлено 1 раз(а). Последнее : Sergio, 13.12.22 13:23
Ratings: 0 negative/0 positive
Re: ошибка выполнения команды RUN
PaulWist

Сообщений: 14501
Дата регистрации: 01.04.2004
Как-то так.

local MyVar
m.MyVar = [run (CONTROL COLOR)]
exec(m.MyVar)


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/1 positive
Re: ошибка выполнения команды RUN
akvvohinc

Сообщений: 4001
Откуда: Москва
Дата регистрации: 11.11.2008
Sergio
Я хочу запустить Run с этой переменной так, но у меня не работает:
Run(cmd /C ls_quser_server)

Но так почему-то не работает.
Подскажите, пожалуйста, как передать значение этой переменной в команду Run ?
Run cmd /C &ls_quser_server
Ratings: 0 negative/1 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 16 (Гостей: 16)

© 2000-2023 Fox Club 
Яндекс.Метрика