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

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
27.03.2008, 14:18
    #35217824
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
"Не работает" - это такое сообщение об ошибке? И оно прямо и однозначно сообщает нам об обрезании строки?
Или оно другое? Тогда почему его тут до сих пор нет? Или мы его телепатически должны отгадать?
...
Рейтинг: 0 / 0
27.03.2008, 14:23
    #35217846
dval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
Не работает в данном случае - не создается архив, окно черное мигнет и все. Сообщений никаких нет. Рабатает - значит архив есть. Все просто.
...
Рейтинг: 0 / 0
27.03.2008, 14:31
    #35217883
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
dvalНе работает в данном случае - не создается архив, окно черное мигнет и все. Сообщений никаких нет.
Неумение посмотреть сообщения не доказывает их отсутствия. RAR прекрасно выдает сообщения об ошибках. Если до него, конечно, дело доходит. Операционная система тоже вроде как особой молчаливостью не отличается.
Рабатает - значит архив есть. Все просто.
У всех остальных ничего не обрезается. Все просто.
Будем дальше заниматься игрой в собственную непогрешимость или таки займемся поиском причин неожиданной работы?
...
Рейтинг: 0 / 0
27.03.2008, 14:59
    #35218016
Cashmarra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
Самое простое - записать куда-нибудь то, что отвечает Рар. И разобраться.
Так как ничего Фокс обрезать не должен.
...
Рейтинг: 0 / 0
27.03.2008, 16:05
    #35218359
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
Пути доступа к файлам случайно пробелы не содержат?
...
Рейтинг: 0 / 0
27.03.2008, 16:32
    #35218503
dval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
Проверил на другом компе, то же самое. Так что про то, что у "всех" работает не надо. Если нечего ответить по делу, то лучше вовсе не отвечать. А в командном окне мелькает надпись "Неправильная команда или имя файла" в обоих случаях.
...
Рейтинг: 0 / 0
27.03.2008, 16:41
    #35218547
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
dvalПроверил на другом компе, то же самое. Так что про то, что у "всех" работает не надо. Если нечего ответить по делу, то лучше вовсе не отвечать.
И тем не менее, у нас всех работает! А вот у Вас...
А в командном окне мелькает надпись "Неправильная команда или имя файла" в обоих случаях.
Отсюда любой нормальный человек сделает вывод о том, что дело до RAR даже не доходит. Это сообщение операционной системы. Она не нашла RAR. Почему? Вам должно быть виднее.
...
Рейтинг: 0 / 0
27.03.2008, 16:48
    #35218585
dval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
Так ведь и в том случае, когда winrar работает, в командном окне появляется "Неправильная команда или имя файла" и когда до него не доходит, то же самое.
...
Рейтинг: 0 / 0
27.03.2008, 16:58
    #35218640
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
Ругань на отсутствие исполняемого файла и его таки выполнение - не слишком ли это "интеллектуально" для интерпертатора командной строки? Как Вы думаете? Наводит на мысль о наличии и выполнении еще каких-то команд? Каких? Откуда? Это опять мы должны телепатически выяснять? Может, наконец-то, покажете что же на самом деле у Вас там делается? Заметьте, не Ваши комментарии и измышления, а именно куски кода и оригиналы ответов исполняющих систем.
...
Рейтинг: 0 / 0
27.03.2008, 16:59
    #35218644
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
Откуда команда RUN в FoxPro узнает где физически находится программа rar.exe? Не пробовал указывать полный путь доступа к файлу rar.exe?

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

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

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

Победить можно таким способом:
Делаешь файлик например my_run.cmd со строкой :
Код: plaintext
cmd.exe /C winrar a -ep C:\VFP_PROG\....
и соответственно вызов:
Код: plaintext
!my_run.cmd
...
Рейтинг: 0 / 0
28.03.2008, 09:27
    #35219641
dval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
VFP5. Длина ограничивается 103 символами, проверил опытно.
.cmd не работает, сделал .bat, который из ОС запускает winrar, а из Fox то же самое, если команда больше 103 символов, не работает.
...
Рейтинг: 0 / 0
28.03.2008, 11:33
    #35220096
korsak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
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
01.04.2008, 01:09
    #35226064
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
Тоже сталкивался с данной проблемой и тоже нашел единственный путь - создавать BAT-ник (в ХР он же - CMD-шнег) и его уже запускать!
...
Рейтинг: 0 / 0
01.04.2008, 14:14
    #35227294
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
CTAC-KOТоже сталкивался с данной проблемой и тоже нашел единственный путь - создавать BAT-ник (в ХР он же - CMD-шнег) и его уже запускать!
Этот путь не единственный. В VFP можно использовать WinAPI функцию CreateProcess() свободную от ограничений по длине. Заодно и от черного окна избавляет при запуске win-приложений.
Тут пример класса обертки.
Тут пример использования.
...
Рейтинг: 0 / 0
01.04.2008, 14:59
    #35227483
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
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
01.04.2008, 15:18
    #35227541
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина командной строки в RUN
ВладимирМ Dima T

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

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

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

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

Раз уж автор топика так и не удосужился представить рабочий вариант кода, демонстрирующего проблему, то пришлось таки создать структуру каталогов, на которой, по его мнению, "видно" обрезание командной строки и таки подправить его же код для демонстрации отсутствия какого либо обрезания.
Код: 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
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Длина командной строки в RUN / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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