|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.04.2018, 10:47 | #1 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
открыть консоль windows и выполнить в ней команду. Пробелы в пути к ЕХЕ
Здравствуйте.
Очередной тупой вопрос из серии "почему это не работает?" и "чё вообще происходит?" Нужно открыть окно консоли windows и в нем выполнить команду. Код:
Код:
Код:
Почему? Ведь путь к ЕХЕ взят в кавычки. Как это исправить? Последний раз редактировалось BLACK_RAIN; 29.04.2018 в 11:00. |
29.04.2018, 12:37 | #2 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Можно через GetShortPathName путь сокращать. Тогда работает и без кавычек.
Но почему вариант с кавычками не работает? Ведь если вручную набрать в консоли ту же самую команду (или вставить ее) - работает. А если вызвать программно - тогда не работает. В чем разница? |
29.04.2018, 20:02 | #3 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,814
|
PChar(твоя строка c кавычками) не поможет?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
30.04.2018, 01:16 | #4 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,872
|
|
30.04.2018, 02:32 | #5 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
30.04.2018, 12:51 | #6 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Происходит ровно то же самое. Хотя, по-идее, должна быть ошибка синтаксиса.
Я еще вот что выяснил. Если после "path\ffmpeg.exe" не ставить еще кавычки, тогда работает. Но не ставить их нельзя, так как в именах файлов и папок скорее всего будут пробелы. Min@y А чего в этой структуре может быть не так? Ну посмотрел. Там всё правильно: lpVerb = nil lpFile = 'cmd.exe' lpParameters = '/k "H:\Other programs\FFMpeg\ffmpeg.exe" -i "any text"' lpDirectory = nil |
30.04.2018, 13:03 | #7 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Ну я хз. Напиши тестовый проект и выложи, попробую смоделировать у себя.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
30.04.2018, 13:27 | #8 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
https://yadi.sk/d/W_YLfkLd3UyEpr
Кнопка "скачать" юзает "GetShortPathName", по-этому работает. кнопка "TEST" юзает кавычки, по-этому не работает. |
30.04.2018, 14:45 | #9 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Поковырялся. Не то, чтобы совсем успешно, но промежуточные результаты таки есть.
Чтоб не засирать свой ютуб-канал, видео на рутуб залил. Ниже - изменённый проектЪ. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
01.05.2018, 11:18 | #10 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Min@y
После просмотра видосика столько эмоций нахлынуло Первый раз в жизни школотой обозвали Как только не обзывали, но чтобы ШКОЛОТОЙ Сначала страшновато было смотреть обзор на себя, но к середине видео я уже не мог сдержать улыбку. Особенно когда вы разбирались, зачем я запускаю cmd.exe и для чего нужен параметр /k. Я , конечно же, есстно, ожидал кучу мата и негатива в свой адрес. Но хотел услышать более обоснованную аргументацию. А так это всё, как говорится, притянуто за уши (а в некоторых местах и за нечто иное). Хороший обзорчик получился. Мне реально понравилось. Напомнило как Ваномас играет в очередную игру, которая по сути не такая уж и плохая, но просто ему не нравится. Однако, хочу прокомментировать некоторые моменты: 1) Почему я прислал весь проект, а не тестовый? Потому что это и так почти тестовый проект. Уменьшать его просто нет смысла. Он и так почти минималистичен. Я специально сделал кнопку "TEST", в коде которой написал одну строчку, в которой заключается вся проблема. А вы эту кнопку просто проигнорировали и начали допиливать всю программу и разбираться с ffmpeg. Хотя ffmpeg тут вообще не при чем. Хотели тестовый проект, а кнопку с надписью "TEST" отодвинули в сторону. 2) вы несколько раз упрекнули меня в том, что я где-то "стыбзил" код и что функция ShellExecute давно устарела. Ну ок. Давайте разберемся. Во-первых: "стыбзил" не "где-то", а у GunSmoker'а. GunSmoker фигни не напишет. Во-вторых: эта обёртка является переходником на более новую функцию ShellExecuteEx. В-третьих: суть вопроса это не меняет. Хоть через CreateProcess запускай - результат один. Ничего не работает из-за вторых кавычек. Кстати, я об этом уже написал в одном из предыдущих постов. Видно, зря написал. Вы это даже не читали. 3) Откуда-то берутся символы #13#10 лол, что? Вы серьёзно? На этом моменте я себе лицо рукой пробил. И с этого момента понял, где смеяться. Вы же код кнопки своими глазами видели. Видели, что там нет проверок на ошибки. Тогда, скажите, зачем вы вставили ссылку с переносом строки в конце? Мне просто логику понять хочется. Естевственно, это работать не будет. Просили тестовый проект - получили тестовый проект. Сами накосячили, а меня еще и оскорбили. Типичный школьник: "Я уже взрослый. Я могу пить пиво на праздники". Типичный программист: "Я программист. Я могу материть нуба вне зависимости от причины возникновения ошибки". 4) не переименовал компоненты, колхозник Согласен, мой косяк. Но чего там переименовывать? Одно Memo, два edit'а и кнопка "TEST". И две строчки кода. Я не знаю, как в этом можно запутаться. В своём предпоследнем посте я чётко написал: кнопка "скачать" работает. Кнопка "TEST" не работает. А вы полезли чинить РАБОЧУЮ кнопку. Зачем? 5) Для чего нужно "cmd.exe /k"? Это нужно для того, чтобы окно консоли не закрывалось после выполнения команды. Не знать таких простых вещей, да еще при этом материться как бухой сапожник на человека, который всё правильно сделал - это, извините, Ваномас. 6) Для чего вообще нужна программа и есть ли аналоги? Программа нужна для того, чтобы скачивать стримы с твича, GoodGame'а (и им подобным) в прямом эфире, а не капчерить их через BandiCam. Такие программы, конечно же, существуют. Но все они работают плохо. Они либо не принимают ссылку, либо виснут при скачивании, либо не дают ввести имя output-файла. Либо, что еще хуже, просят вводить имя файла каждый раз. В результате чего, мы теряем драгоценные секунды стрима. Для этого я и написал свой говнокод. Чтобы можно было просто вставить ссылку и нажать одну большую кнопку и все нужные параметры подставятся автоматически. БОЛЬШУЮ кнопку именно для того, чтобы второпях по ней было сложнее промахнуться. А не потому что я школьник и написал свою мега-крутую программу для скачивания. Чувствуете разницу? ---- И еще было много моментов, которые можно смешно прокомментировать. Но это не сейчас и не здесь. Итак, в результате мы имеем: крутой программист, до того крутой, что может материть нуба как хочет, за 40 минут не смог запустить консоль windows так чтобы она не закрылась Я признаю, что я изначально поставил вопрос немного неправильно (как обычно). Я не написал, что окно консоли не должно закрываться после выполнения команды. Но у меня в коде написано cmd.exe /k. Это не просто так написано. Это априори без пояснения означает, что консоль не должна закрываться. Это должен знать каждый (тем более программист). Я не программист, но даже я это знаю! Это как знать, что функция ShellExecute давно устарела и юзать ее нельзя. А если кто-то этого не знает, то руки таким надо отрывать! Это полное фиаско, а не результаты Это видео войдёт в золотые анналы рутуба |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти в диапазоне ячейку с текстом и выполнить над ней действие | ольгаг | Microsoft Office Excel | 3 | 03.06.2016 07:24 |
Ввести строку, заменить в ней двойные символы на одиночные, пробелы-на знак подчеркивания, сочетания '**' на многоточие [ Delphi ] | Rimone | Помощь студентам | 3 | 29.06.2012 13:06 |
Как выполнить команду из консоли | Arassir | PHP | 1 | 17.02.2012 15:13 |
Пробелы в пути к файлу | royun | Общие вопросы Delphi | 5 | 28.10.2011 05:02 |
не могу открыть и отредактировать ехе!!! | qpanunahqp | Помощь студентам | 4 | 02.11.2010 17:56 |