Windows cmd непредвиденное появление

Windows cmd непредвиденное появление

Сообщения: 26992
Благодарности: 7877

sunnykey, дело в том, что передаваемый в пакетный файл параметр, содержащий символы-разделители (например, пробел — банальный случай для путей), должен быть заключён в кавычки. В противном случае заключать параметр в кавычки не обязательно (но можно).

Параметры «C:\boot.ini» и «c:\CONFIG.SYS» не содержат символов-разделителей, потому их можно заключать в кавычки, а можно и не заключать (в примере «C:\boot.ini» не заключён в кавычки, а «c:\CONFIG.SYS» — заключён). Параметр же «C:\Program Files\Common Files\Microsoft Shared» содержит символы-разделители (в данном случае — пробел) и, чтобы он был воспринят как один параметр, а не несколько — требуется заключить его в кавычки.

Идём дальше. В отличие от ряда языков, в пакетный файл параметры передаются «как есть» — вместе с кавычками (если они были). И это надо учитывать при работе пакетного файла. И вот как раз для того, чтобы иметь возможность унифицировать обработку параметров, как заключённых в кавычки, так и без них — используется тильда:

То есть, сначала мы, при помощи тильды, убираем возможные кавычки у переданного параметра, а затем уже сами указываем кавычки. Таким образом, независимо от того, был ли передан параметр с кавычками или без — теперь мы гарантированно получим его унифицированное представление — с кавычками.

Я скрипты учусь писать по книжке Станека, там почему-то я не увидел, чтобы он у параметров тильду ставил. »

Мне сложно сказать, отчего Станек обошёл своим вниманием данный вопрос совершенно. Про «defined», во всяком случае, он не забыл.

«Непредвиденное появление»

При выполнении следующего скрипта:

в консоли возникает сообщение » Непредвиденное появление: \5.8\Src\qtbase\configure.bat «

Читайте также:  Вам понадобится новое приложение чтобы открыть этот exe файл windows 10

Файл «configure.bat» находится в папке «\5.8\Src\qtbase». Что могло пойти не так?

Полное содержание скрипта:

Сообщение об ошибке «Непредвиденное появление: B.» при выполнении команды «FOR %B IN (*) DO . «
бегло прочитал https://www.cyberforum.ru/cmd-bat/thread877664.html не нашел подходящей инфы пишу.

При выполнении батника появляется сообщение об ошибке «Непредвиденное появление: (0.»
Добрый день, вот код, при выполнении батника выскакивает вот это: Непредвиденное появление: (0.

Ошибка «Непредвиденное появление» при использовании оператора условного выполнения команд
Приветствую. Есть некоторый код, который правильно выполняется, но вот функция :EXIT работает.

Сообщение об ошибке «Непредвиденное появление: |.»
Всем привет! Не буду мудрить напишу здесь, бо оно в тему. есть комманда ping 192.168.0.18 -n 1.

Простите, я неверно описал ситуацию. Скрипт запускается из «\5.8\Src»

Что вообще означает фраза «Непредвиденное появление»?

Клуб телепатов тут что-ли уже .

Полный текст скрипта приведен в 1-м посте. Это скрипт с официального сайта Qt. В скриптах командной строки я, к своему стыду, не разбираюсь, и просто следую инструкции. Как указано в приведенной выше ссылке, инструкция находится здесь: https://habrahabr.ru/sandbox/95171/

В 4-м пункте этой инструкции запускается «терминал» с помощью ярлыка «Все программы -> Qt5.8.0 -> Qt 5.8 for Desktop (MinGW 5.3.0 32 bit)». В свойствах этого ярлыка в поле «Объект» стоит вот такая строка:

На картинке показан вызов configure.bat, содержимое которого приведено в 1-м посте. Он пытается вызвать другой configure.bat, находящийся в qtbase\ (хотя, скорее всего, он не успевает сделать такую попытку.

Смущает предупреждение «C:\Qt\Qt5.8.0″ не является внутренней или внешней командой, исполняемой программой или пакетным файлом.» У меня есть такая папка, но там находится другая версия Qt, которая не должна участвовать в процессе. Версия с MinGW находится в «C:\Qt\Qt5.8.0(MinGW)»

Читайте также:  Установка dns сервер windows 2012

Кажется, я решил проблему. Не знаю, где эта хрень нашла путь к «Qt5.8.0», но если она хочет именно эту папку, то надо ее предоставить. Вот что я сделал:

Сменил название папки «Qt5.8.0» на «Qt5.8.0_»
Сменил название папки «Qt5.8.0(MinGW)» на «Qt5.8.0»
Скопировал qtenv2.bat в «C:\Qt\Qt5.8.0\5.8\Src»
Изменил его содержимое с

и оно заработало. Пока что идет конфигурация. Теперь посмотрим, пройдет ли компиляция и установка. Но я сомневаюсь, что уже установленные комплекты Qt будут работать (там же теперь пути неправильные прописаны), но может быть мне повезет…

Добавлено через 2 часа 0 минут
Кстати, теперь понимаю, почему я оказался не в той директории. Указал путь к qtenv2.bat (C:\Windows\System32\cmd.exe /A /Q /K C:\Qt\Qt5.8.0\5.8\Src), но сам qtenv2.bat забыл прописать в конце

Добавлено через 1 час 36 минут
Все установилось, но сборка не работает. Кроме того, сломалась сборка с компилятором MinGW, которая раньше работала, пришлось ее переустанавливать.

Танцы с бубном не помогли, надо найти ошибку.

Оцените статью
Adblock
detector