Re: ошибка выполнения команды RUN | |
---|---|
Sergio Автор Сообщений: 438 Откуда: Донецк Дата регистрации: 16.06.2005 |
Отлично, так работает! Ещё немного дальше пойти - Уважаемые, как Вы думаете, есть ли возможность результат выполнения команды
Что-то типа такого:
Иначе мне приходится получать текстовый файл - как результат выполнения команды
![]() |
Re: ошибка выполнения команды RUN | |
---|---|
PaulWist Сообщений: 14501 Дата регистрации: 01.04.2004 |
forum.foxclub.ru
forum.foxclub.ru ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) Исправлено 1 раз(а). Последнее : PaulWist, 13.12.22 16:28 ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
akvvohinc Сообщений: 4001 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Непонятно, в чем проблема. Если просто неудобно каждый раз писать две строки вместо одной, то заверните эти строки в функцию (или класс) и пользуйтесь ей, "забыв", что там внутри. Исправлено 1 раз(а). Последнее : akvvohinc, 13.12.22 16:50 ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
Sergio Автор Сообщений: 438 Откуда: Донецк Дата регистрации: 16.06.2005 |
Почитал. Получил вывих мозга )))) Не знаю, как это применить для своих целей. Проблема у меня заключается в том, что теперь всё вроде бы работает. Связка команд
отрабатывает теперь корректно. Вопрос в том, что нужно опросить сорок серверов и перед пользователем будет выскакивать сорок чёрных окошек при выполнении команд RUN. Ищу другой способ получить результат выполнения команд в powershell "QUERY USER /server:STERMF030" "QUERY USER /server:STERMF031" "QUERY USER /server:STERMF032" и т.д. в переменную FoxPro. ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
akvvohinc Сообщений: 4001 Откуда: Москва Дата регистрации: 11.11.2008 |
Вас никто не заставлял пользоваться именно командой RUN. Пользуйтесь аналогией, которая здесь уже приводилась: forum.foxclub.ru никаких черных окошек там нет (во всяком случае, у меня). ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
_vit Сообщений: 5138 Дата регистрации: 29.07.2002 |
Положить то ничего не мешает, тем более что он там и лежит после установки винды. Только из фокса он оттуда запускаться не будет, даже если явно указать путь к нему в команде. Это я и имел в виду. Проверь сам. Если положить quser.exe в какую нибудь любую папку ну например в c:\temp\ то работает если указать папку c:\windows\system32\ то нет. Несмотря на наличие этого файла там.
Как тут уже сказал Joys Explorer - 64 битное приложение и запускает 64 битную версию Powershell. Если путь к quser.exe не указан явно, то система ищет этот файл по списку путей указанном в переменной окружения и папке c:\windows\system32. Если 32 битное приложение, коим является фокс, запускает Powershell, то запускается его 32 битная версия. и система ведет поиск quser.exe по списку путей указанном в переменной окружения и папке c:\windows\SysWOW64 где находятся 32 битные dll и приложения. Даже если в переменной окружения или явно в команде указать путь к папке c:\windows\system32 система все равно перенаправит поиск в c:\windows\SysWOW64. А там такого файла нет, потому и возникает ошибка. Система просто не может найти этот файл. Исправлено 1 раз(а). Последнее : _vit, 13.12.22 23:09 ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
of63 Сообщений: 24629 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
() ценное наблюдение... Вит!
() я не понял ни чего... ) > Даже если в переменной окружения или явно в команде указать путь к папке c:\windows\system32 система все равно перенаправит поиск в c:\windows\SysWOW64. А там такого файла нет, потому и возникает ошибка. Система просто не может найти этот файл. Аа... Исправлено 2 раз(а). Последнее : of63, 13.12.22 23:29 ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
akvvohinc Сообщений: 4001 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Ну, например, у меня (Win7) после установки винды там ничего не лежало (и сейчас не лежит), но 64-битная версия запускается. А путь к quser.exe у меня другой - c:\Windows\WinSxS\amd64_microsoft-windows-t..commandlinetoolsmqq_... (далее набор цифр) А поэтому мне ничто не мешало положить в System32 32-битную версию quser.exe. И после этого она начинает вызываться "из-под Фокса" (до этого не вызывалась) даже без указания явного пути, так как путь к System32 входит в Path. Да и даже если бы quser.exe уже был в System32, то 32-битную версию quser.exe можно положить туда под другим именем и обращаться к ней по нему - (работающий у меня пример я приводил выше!). Цитата:Я это проверял ещё раньше: forum.foxclub.ru (там папка другая, но я проверял и для System32) Но там я запускал через WScript.Shell, поэтому для чистоты эксперимента проверил сейчас твой пример - докладываю: 1) удалил из System32 файл quser.exe, который клал туда ранее - выдается ошибка, что командлет не найден. 2) забросил в System32 файл quser.exe - нормально работает. 3) убираю из команды путь "C:\Windows\System32" к файлу quser.exe - продолжает нормально работать. Возможно, под Win7 всё несколько иначе, чем под Win10, но под Win10 (пока) не проверял. Но скорее всего дело в том, что свою версию quser.exe я получил как обновление системы (раз она лежит у меня в WinSxS) Исправлено 1 раз(а). Последнее : akvvohinc, 14.12.22 03:53 ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
Joys Сообщений: 3483 Откуда: Старая Русса Дата регистрации: 25.06.2000 |
![]() |
Re: ошибка выполнения команды RUN | |
---|---|
_vit Сообщений: 5138 Дата регистрации: 29.07.2002 |
Попробовал сейчас на работе на Win 7 X64 Enterprise. Поведение в точности соответствует как и на Win 10. Первый RUN срабатывает корректно второй вываливается с ошибкой. quser.exe изначально лежит в C:\Windows\System32 А у тебя точно Win 7 64 битная версия? ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
Каратаев Сообщений: 3931 Откуда: Алматы Дата регистрации: 04.12.2001 |
А разве не наоборот? SysWOW64 содержит 64-разрядные файлы DLL System32 содержат 32-битные файлы DLL Разве не так? ------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
akvvohinc Сообщений: 4001 Откуда: Москва Дата регистрации: 11.11.2008 |
[attachment 36452 2022-12-14_144319.png] ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
_vit Сообщений: 5138 Дата регистрации: 29.07.2002 |
Не так. learn.microsoft.com ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
akvvohinc Сообщений: 4001 Откуда: Москва Дата регистрации: 11.11.2008 |
Не так - в 64-битных системах в System32 лежит всё 64-битное. Название SysWOW64 "переводится" как Windows-on-Windows 64-bit, а в моей вольной интерпретации как "другой Windows в 64-битной Windows" Исправлено 1 раз(а). Последнее : akvvohinc, 14.12.22 17:36 ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
_vit Сообщений: 5138 Дата регистрации: 29.07.2002 |
Странно. ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
akvvohinc Сообщений: 4001 Откуда: Москва Дата регистрации: 11.11.2008 |
Посмотрел на ноуте - там Win10 - quser.exe тоже отсутствует в System32, а лежит в одной из папок обновлений.
Оба компа загружал не сам, а знакомый системщик. PS Да, и если бы семерка у меня была 32-битная, то папок Program Files(x86) и SysWOW64 просто не было бы. Исправлено 1 раз(а). Последнее : akvvohinc, 14.12.22 17:39 ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
akvvohinc Сообщений: 4001 Откуда: Москва Дата регистрации: 11.11.2008 |
Непонятки с quser.exe, похоже, разрешились.
1) для работы 64-бит Powershell файл quser.exe не требуется! (я не нашел на диске ни одной копии файла, кроме 32-битной). 2) когда я клал 32-бит quser.exe в папку System32, он автоматически копировался в SysWOW64, при этом оставаясь и в System32. (при удалении и переименовании, эти операции ожидаемо тоже проходили параллельно в обеих папках). Проверь, действительно ли у тебя в System32 файл quser.exe является 64-битным, или это просто копия 32-битного файла, лежащего в SysWOW64. Если же он 64-битный, то при его переименовании будет ли выполнять команду quser 64-битный PS? Исправлено 5 раз(а). Последнее : akvvohinc, 14.12.22 18:47 ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
_vit Сообщений: 5138 Дата регистрации: 29.07.2002 |
quser.exe у меня 64 битный и выполняется как на 32 так 64 бит PS.
В папке SysWOW64 его нет. И мне попадалась инфа (за что купил за то продаю) что 32 битной версии quser.exe не существует. ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
Каратаев Сообщений: 3931 Откуда: Алматы Дата регистрации: 04.12.2001 |
Вот же... Всегда считал наоборот. Век живи - век учись. Спасибо, буду знать... Благо с такими непонятками не сталкивался... ------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. ![]() |
Re: ошибка выполнения команды RUN | |
---|---|
akvvohinc Сообщений: 4001 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Не может быть. Я её получил именно так - задал в Гугле поиск 32-битной версии для Win7. Мне выдалась страница, с которой я мог скачать оба варианта - я скачал 32-битную, положил её в System32 (она скопировалась и в SysWoW64), и только после этого 32-битный PS начал видеть командлет с этим именем. Вот та страница: www.pconlife.com Цитата:Когда с того же сайта я загрузил 64-битную версию для Win7 и бросил её в System32, то она тоже скопировалась в SysWoW64, но из-под 32-битного PS не работала: Сбой выполнения программы quser.exe: Указанный исполняемый файл не является действительным приложением для этой операци онной системы.строка:1 знак:1 + quser Исправлено 1 раз(а). Последнее : akvvohinc, 14.12.22 21:32 ![]() |
© 2000-2023 Fox Club  |