powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Длина командной строки в RUN
31 сообщений из 31, показаны все 2 страниц
Длина командной строки в RUN
    #35217625
dval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся с такой штукой, что Fox не может передать длинную командную строку(обрезает, если ~>85 символов), для проверки запускал сеанс Dos с "длинной" строкой: работает. Можно ли это как-то побороть?
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35217645
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ерунду говорите, батенька. Ничего фокс не обрезает. Так что бороть надо что-то другое. Для выяснения этого другого надо бы выложить код, на основании которого был сделан столь смелый вывод.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35217720
dval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я ведь проверил все в сеансе DOS перед тем как писать, оттуда работает, из Fox нет. А запускал
конкретно Winrar с параметрами, при достижении определенной длины из foxа не работает.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35217737
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выкладывайте код, иначе дискуссия будет в духе "а у меня работает". Как запускаете из FoxPro? Какой командой?
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35217740
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dvalЯ ведь проверил все в сеансе DOS перед тем как писать, оттуда работает, из Fox нет. А запускал
конкретно Winrar с параметрами, при достижении определенной длины из foxа не работает.
Сергей же просил привести проблемный код. А так вы долго будете ждать ответа.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35217792
dval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это для примера

arx="winrar a -ep C:\VFP_PROG\ND\EXPORT\EXPORT\EXPORT\EXPORT\rar.rar C:\VFP_PROG\ND\EXPORT\EXPORT\EXPORT\EXPORT\"
run &arx
не работает

arx="winrar a -ep C:\VFP_PROG\ND\EXPORT\rar.rar C:\VFP_PROG\ND\EXPORT\EXPORT\EXPORT\EXPORT\"
run &arx
работает
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35217824
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Не работает" - это такое сообщение об ошибке? И оно прямо и однозначно сообщает нам об обрезании строки?
Или оно другое? Тогда почему его тут до сих пор нет? Или мы его телепатически должны отгадать?
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35217846
dval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не работает в данном случае - не создается архив, окно черное мигнет и все. Сообщений никаких нет. Рабатает - значит архив есть. Все просто.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35217883
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dvalНе работает в данном случае - не создается архив, окно черное мигнет и все. Сообщений никаких нет.
Неумение посмотреть сообщения не доказывает их отсутствия. RAR прекрасно выдает сообщения об ошибках. Если до него, конечно, дело доходит. Операционная система тоже вроде как особой молчаливостью не отличается.
Рабатает - значит архив есть. Все просто.
У всех остальных ничего не обрезается. Все просто.
Будем дальше заниматься игрой в собственную непогрешимость или таки займемся поиском причин неожиданной работы?
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35218016
Cashmarra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое простое - записать куда-нибудь то, что отвечает Рар. И разобраться.
Так как ничего Фокс обрезать не должен.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35218359
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пути доступа к файлам случайно пробелы не содержат?
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35218503
dval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проверил на другом компе, то же самое. Так что про то, что у "всех" работает не надо. Если нечего ответить по делу, то лучше вовсе не отвечать. А в командном окне мелькает надпись "Неправильная команда или имя файла" в обоих случаях.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35218547
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dvalПроверил на другом компе, то же самое. Так что про то, что у "всех" работает не надо. Если нечего ответить по делу, то лучше вовсе не отвечать.
И тем не менее, у нас всех работает! А вот у Вас...
А в командном окне мелькает надпись "Неправильная команда или имя файла" в обоих случаях.
Отсюда любой нормальный человек сделает вывод о том, что дело до RAR даже не доходит. Это сообщение операционной системы. Она не нашла RAR. Почему? Вам должно быть виднее.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35218585
dval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так ведь и в том случае, когда winrar работает, в командном окне появляется "Неправильная команда или имя файла" и когда до него не доходит, то же самое.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35218640
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ругань на отсутствие исполняемого файла и его таки выполнение - не слишком ли это "интеллектуально" для интерпертатора командной строки? Как Вы думаете? Наводит на мысль о наличии и выполнении еще каких-то команд? Каких? Откуда? Это опять мы должны телепатически выяснять? Может, наконец-то, покажете что же на самом деле у Вас там делается? Заметьте, не Ваши комментарии и измышления, а именно куски кода и оригиналы ответов исполняющих систем.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35218644
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Откуда команда RUN в FoxPro узнает где физически находится программа rar.exe? Не пробовал указывать полный путь доступа к файлу rar.exe?

Код: plaintext
RUN C:\rar\rar.exe ...

Собственно, для проверки того, что ты правильно написал команду дай эту же самую команду в командном окне Windows: Кнопка "Пуск" - Выполнить. Разумеется, без RUN.

В FoxPro работать будет точно также. Собственно, с некоторой натяжкой можно считать, что команда RUN "открывает" это окно и вписывает в него указанную последовательность символов.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35218686
scelo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуйте: run call вашаКоманда
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35219581
korsak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понимаю речь идет о FPD. Странно что никто не поинтересовался версией фокса.
Подтверждаю - да, обрезает (по моим замерам - 122знака ). Но не фокс (гуру - вам слово :) ).

Победить можно таким способом:
Делаешь файлик например my_run.cmd со строкой :
Код: plaintext
cmd.exe /C winrar a -ep C:\VFP_PROG\....
и соответственно вызов:
Код: plaintext
!my_run.cmd
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35219641
dval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VFP5. Длина ограничивается 103 символами, проверил опытно.
.cmd не работает, сделал .bat, который из ОС запускает winrar, а из Fox то же самое, если команда больше 103 символов, не работает.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35220096
korsak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dvalVFP5. Длина ограничивается 103 символами, проверил опытно.
.cmd не работает, сделал .bat, который из ОС запускает winrar, а из Fox то же самое, если команда больше 103 символов, не работает.
Немножко не точно привел пример на память :-(
Строка в MY_RUN.CMD
Код: plaintext
winrar a -ep C:\VFP_PROG.....
и соответственно
Код: plaintext
1.
_run="C:\WINDOWS\SYSTEM32\cmd.exe  /c    my_run.cmd  > nul"
!&_run
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35226064
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тоже сталкивался с данной проблемой и тоже нашел единственный путь - создавать BAT-ник (в ХР он же - CMD-шнег) и его уже запускать!
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35227294
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTAC-KOТоже сталкивался с данной проблемой и тоже нашел единственный путь - создавать BAT-ник (в ХР он же - CMD-шнег) и его уже запускать!
Этот путь не единственный. В VFP можно использовать WinAPI функцию CreateProcess() свободную от ограничений по длине. Заодно и от черного окна избавляет при запуске win-приложений.
Тут пример класса обертки.
Тут пример использования.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35227483
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T

Может, лучше использовать Shell.Run()? А то использование API - это же "горы" кода

Код: plaintext
1.
2.
3.
4.
5.
6.
lcArhiveName = "C:\VFP_PROG\ND\EXPORT\EXPORT\EXPORT\EXPORT\rar.rar"
lcDirectoryName = "C:\VFP_PROG\ND\EXPORT\EXPORT\EXPORT\EXPORT\"
lcCommand ="winrar.exe a -ep " + m.lcArhiveName + " " + m.lcDirectoryName

loWshShell = CREATEOBJECT("WScript.Shell") 
loWshShell.RUN(m.lcCommand, 0 ,.T.)

Правда, не знаю, есть ли ограничение по длине команды для Shell?
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35227541
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ Dima T

Может, лучше использовать Shell.Run()? А то использование API - это же "горы" кода

Может быть. WScript.Shell это такой же класс-обертка над WinAPI, только от MS.

На счет "гор" - один раз класс-обертку написал и везде ее использую, лежит в библиотеке классов для всех проектов. Никаких "гор" не пложу. По ссылкам с примерами это видно.

Предпочитаю свои обертки, чтобы случайно в ограничения чужих не уткнуться. И следить за тем чтобы WScript у пользователя на машине был не нужно. На W98 его нет кажется изначально.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35228516
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну что, так никто и не показал обрезания строки фоксом? Причем у всех разные длины строк после обрезания. Ни на какие мысли не наводит? Может он какой-нибудь самоадаптивный и сам настраиватется на конкретного разработчика и для каждого делает свой порог необрезания?

Раз уж автор топика так и не удосужился представить рабочий вариант кода, демонстрирующего проблему, то пришлось таки создать структуру каталогов, на которой, по его мнению, "видно" обрезание командной строки и таки подправить его же код для демонстрации отсутствия какого либо обрезания.
Код: plaintext
1.
arx='"c:\Program Files\WinRAR\WinRAR.exe" a -ep C:\VFP_PROG\ND\EXPORT\EXPORT\EXPORT\EXPORT\rar.rar C:\VFP_PROG\ND\EXPORT\EXPORT\EXPORT\EXPORT\'
! /N &arx
У меня данный код, почему-то :), ничего не обрезает и прекрасно создает заданный архив. При этом я, заметьте, даже значительно удлиннил строку. Может я что-то не так делаю?
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35228586
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понимаешь, по ходу даже если у тебя конкретно не режет, все равно есть какое-то ограничение, пусть 255 символов даже. не важно. Важен метод, где его не будет вообще. Я так думаю...
Заметь к тому же, что разные люди дали разные числа "обреза". Ведь не хочеццо, опираясь на свой конфиг, написать прогу, а потом у клиента начнуццо проблемы из-за этого самого обрезания. Причем ее, эту траблу, еще нужно будет задетектить, т.к. она же будет неожиданной!
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35228734
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Sizov.Ну что, так никто и не показал обрезания строки фоксом? Причем у всех разные длины строк после обрезания. Ни на какие мысли не наводит? Может он какой-нибудь самоадаптивный и сам настраиватется на конкретного разработчика и для каждого делает свой порог необрезания?
Это зависит не от фокса и не от разработчика, а от версии Win. В W95/98 было 128 если мне память не изменяет. В 2000-XP побольше, но тоже не бесконечность.

Сам факт того что многие сталкивались с этой проблемой, я в том числе, можно считать конечно массовыми синхронными галюцинациями, но я бы рассматривал это как подтверждение существования проблемы.

Меня больше удивляет что из BAT файла работает. По идее то же самое обрезание должно происходить.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35228779
korsak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov.Ну что, так никто и не показал обрезания строки фоксом? Причем у всех разные длины строк после обрезания. Ни на какие мысли не наводит? Может он какой-нибудь самоадаптивный и сам настраиватется на конкретного разработчика и для каждого делает свой порог необрезания?
Пример для FPD. Делаем 2 файлика
len1.bat
Код: plaintext
cmd.exe /c "c:\Program Files\WinRAR\WinRAR.exe" x -ep D:\tmp\test.rar  D:\tmp\
len2.bat
Код: plaintext
cmd.exe /c "c:\Program Files\WinRAR\RAR.exe" x -ep D:\tmp\test\test\test\test\test\test\test\test\test.rar D:\tmp\test\test\test\test\test\test\test\test\
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35228783
korsak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и запускаем и фокса соответственно
!len1.bat
и
!len2.bat
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35228931
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TСам факт того что многие сталкивались с этой проблемой, я в том числе, можно считать конечно массовыми синхронными галюцинациями, но я бы рассматривал это как подтверждение существования проблемы.

Меня больше удивляет что из BAT файла работает. По идее то же самое обрезание должно происходить.
А сам факт почти поголовного наступления на грабли, например, с set filter надо тоже рассматривать как подтветрждение существования проблемы с этим самым set filter? Или таки с программистами неправилно его использующими? Почему самым первым и единственным объяснением неожиданного поведения берется глюк фокса? И больше ничего, никаких вариантов! Программисты безгрешны по определению? Они никогда не ошибаются? На чем основана уверенность в полной корректности своих действий и своих ожиданий?
Народ! Вы хоть внимательно посмотрели мои изменения? Прочитали в хелпе их назначение? Порядок действий фокса при вызове внешней программы? Сравнили его с порядком действий ОС.
...
Рейтинг: 0 / 0
Длина командной строки в RUN
    #35231644
korsak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А нельзя просто рассказать - где засада?
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Длина командной строки в RUN
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]