что значит ошибка в синтаксисе команды

Ошибка в синтаксисе команды. (Bat)

Привет всем. Пишу интересную утилиту для windows. Но это не важно.
Я пришёл суда с другим вопросом. Когда я пишу команду консоль закрывается. Перед тем как закрыться на секунду проскакивает сообщение ошибка в синтаксисе команды. Я новичок. Спасибо

Код:
@echo off
title SuperTool 1.0
:start
echo Welcome to SuperTool 1.0! Write help to show command list.
:1
set /p command=»>>>»
set /a command1=»exit»
set /a command2=»help»
set /a command3=»ver»
set /a command4=»fc»
set /a command5=»of»
set /a command6=»del»
set /a command7=»run»
set /a command8=»clear»
set /a command9=»reset»
set /a command10=»exit»
set /a command11=»create»
set /a command12=»colorsettings»
set /a command13=»ColorRed»
set /a command14=»ColorGreen»
set /a command15=»ColorYellow»
set /a command16=»Default»
set /a command17=»fup»
set /a command18=»format»
if %command%==%command2% (
goto help
)
if %command%==%command3% (
echo 1.0
)
if %command%==%command4% (
set /p foldername=»Enter folder name: «
MD %foldername%
)
if %command%==%command5% (
set /p foldername=»Enter folder name: «
cd %foldername%
if not exist %foldername% (
echo Folder not found.
)
)
if %command%==%command6% (
set /p filename==»Enter file name»
del %filename%
if not exist %filename% (
echo File not found.
)
)
if %command%==%command7% (
set /p filename2==»Enter file name»
%filename2%
if not exist %filename2% (
echo File not found.
)
)
if %command%==%command8% (
cls
)
if %command%==%command9% (
Choice /M «Are you sure?»
If Errorlevel 2 Goto No
If Errorlevel 1 Goto Yes

:Yes
goto start
)
if %command%==%command10% (
Choice /M «Are you sure?»
If Errorlevel 2 Goto No
If Errorlevel 1 Goto Yes

Видно с паузой не срослось. Ну что ж тогда пробуй что-то другое, н-р упростить эту лабуду
— убери все команды set. Константы для сравнения можно писать сразу в иф и без кавычек (!)
— сократи число меток.
If Errorlevel 1 Goto Yes :No goto 1 :Yes goto start
легко заменить на If Errorlevel 1 goto start
смысл не изменится
— убери лишние скобки if %command%==echo ( echo 1.0 )
— замени goto на call
н-р вместо
if %command%==help (
call :help
goto 1

Источник

Сообщение об ошибке при попытке установить приложение на базе Windows Vista с программой обновления 1 (SP1) или Windows 7: «Ошибка синтаксиса параметра командной строки».

Поддержка Windows Vista Пакет обновления 1 (SP1) заканчивается 12 июля 2011 г. Чтобы продолжать получать обновления для системы безопасности Windows, убедитесь, что вы работаете в Windows Vista с Пакет обновления 2 (SP2). Дополнительные сведения можно найти на этой веб-странице Майкрософт: прекращение поддержки некоторых версий Windows.

Проблемы

Рассмотрим следующий сценарий.

Вы работаете на windows XP Пакет обновления 3 (SP3), Windows Vista Пакет обновления 1 (SP1) или компьютере с Windows 7

Читайте также:  что делать если твоему другу плохо

Используйте имя пользователя, которое содержит двухбайтовую по набору символов (DBCS).

При попытке установить приложение, использующее распространяемый пакет Microsoft Visual C++ 2005, вы получаете следующее сообщение об ошибке:

Ошибка синтаксиса параметра командной строки. Введите команду/? Для справки.

Причина

Эта проблема возникает из-за того, что средство Self-Extractor Win32 Cabinet не может обрабатывать символы DBCS в имени пользователя.

Решение

Чтобы мы могли решить эту проблему для вас, перейдите в раздел»Устранитьэту проблему для меня». Чтобы устранить проблему самостоятельно, перейдите к разделу «Самостоятельное решение проблемы».

Помощь в решении проблемы

Чтобы устранить эту проблему автоматически, нажмите кнопку или ссылку «Исправить». Затем в диалоговом окне «Загрузка файла» нажмите кнопку «Выполнить» и следуйте шагам мастера fix it.

Решение Fix it не будет работать, если ваша учетная запись не является учетной записью администратора.

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

Решения по устранению проблем можно скачать на любой компьютер, а затем сохранить их на устройство флэш-памяти или компакт-диск и запустить на нужном компьютере.

Самостоятельное решение проблемы

Чтобы устранить эту неполадку, выполните следующие действия:

Нажмите кнопку » «, щелкните правой кнопкоймыши «Компьютер» и выберите «Свойства».

В области параметров компьютера, домена и группы щелкните «Изменить параметры».

Если вам будет предложено ввести пароль администратора или подтвердить его, введите пароль или нажмите кнопку «Продолжить».

Щелкните «Изменить параметры» и выберите вкладку «Дополнительные параметры». Нажмите кнопку «Переменные среды»

В области переменных пользователя щелкните TEMP и нажмите кнопку «Изменить».

В поле «Значение переменной» введите C:\Temp и нажмите кнопку «ОК» два раза.

Нажмите кнопку Применить, а затем — ОК.

Выполните действия 4-6 для переменной среды TMP.

Утвердим, что папка C:\Temp существует, если она не существует.

Попытаться установить приложение еще раз.

Проблема устранена?

Проверьте, устранена ли проблема. Если устранена, пропустите дальнейшие инструкции, приведенные в этом разделе. Если нет, обратитесь в службу технической поддержки.

Мы ценим ваши замечания. Чтобы оставить отзыв или сообщить о проблемах с этим решением, оставьте комментарий в блоге«Fix it for me»или отправьте нам сообщение электронной почты.

Источник

Статья [CMD] Как диагностировать проблему или ошибки в синтаксисе, когда Bat-файл «вылетает»?

Dragokas

Very kind Developer

Как запустить Batch-файл с протоколированием?
Как диагностировать проблему или ошибки в синтаксисе, когда Bat-файл не работает или «вылетает».

Чтобы увидеть ошибки в синтаксисе, которые приводят к критическому завершению Batch-файла,
необходимо запустить его из CMD.exe (интерпретатора).

Как?
Этап 1. Подготовка:
Если у Вас в скрипте указана директива для скрытия вывода выполняемых команд:

Читайте также:  что значит расколотое сердце

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

Этап 2. Выполнение скрипта с перенаправлением вывода в файл протокола

Вариант 1. Для систем Windows XP и ниже:

(ввод каждой строки подтверждаем клавишей )

После ввода первой строки Вы увидете на экране приглашение вида:
c:\temp>
что свидетельствует об успешном переходе в каталог c:\temp

Вариант 2. Для систем Windows Vista и выше (переход в папку с батником сразу):

1. Перейдите на уровень выше от каталога, где находится Batch-файл
(иными словами: Вам нужно видеть пиктограмму значка папки, в которой находится Batch-файл)
Если Вы видите перед собой сам Batch-файл, достаточно нажать BackSpace (кнопка «стирания»).

2. Наведите указатель мыши на папку с Batch-файлом.
Нажмите и удерживайте кнопку «Shift». Вместе с этим нажмите правую кнопку мыши.

3. Выберите пункт «Открыть окно команд».

Например, Вам нужно запустить Batch-файл с именем script.cmd, расположенном в папке temp на диске C,
тогда вводим команду:

Этап 3. Анализ файла-протокола.

После завершения работы Batch-файла в папке C:\temp будет создан файл log.txt
Передайте его специалистам, либо при наличии достаточного опыта проведите анализ самостоятельно.

Данный файл сохраняется в кодировке OEM-866, поэтому открывать его нужно в соответствующем редакторе: http://www.cyberforum.ru/cmd-bat/thread738351.html
Как правило, критические ошибки указаны в самом конце протокола и они предваряют команду, которая их вызвала.

Этап 4. (опционально)
Если бат-файл содержит цикл или является очень большим, полезным также будет подготовить лог уже с командой @echo off
Добавьте ее в самое начало кода и повторите всю процедуру.

Альтернатива вызову батника из-под интерпретатора.
В самом начале кода пишем:

Источник

. Ошибка в синтаксисе команды

Раздел форума:

Автор темы:

>В пути с пробелами путь должен быть в кавычках…

Прописываю: ren «cd %USERPROFILE%\Рабочий стол\Ярлык для TOTALCMD.Ink» TotalCmd.Ink теперь выбивает «Синтаксическая ошибка в имени файла, имени папки или метке тома»

ren «Ярлык для TOTALCMD».Ink TotalCmd.Ink будет работать?

С путем разобрался, я в папке Рабочй Стол, возникла другая проблема, я прописываю: ren «Ярлык для TOTALCMD».Ink TotalCmd.Ink выбивает «Не удается найти указанный файл»

Кавычки после полного имени файла, с расширением.

Все равно выбивает «Не удается найти указанный файл», хотя он там есть

ren «%USERPROFILE%\Рабочий стол\Ярлык для TOTALCMD.lnk» TotalCmd.lnk

> Все равно выбивает «Не удается найти указанный файл», хотя он там есть

Так может он уже переименован, поэтому и не находит? 😉

> Кавычек я не ставлю ещё cо времён CP/M.

Не стоит давать советов, в которых не уверены. Если путь к файлу содрежит пробел, то в Windows надо ОБЯЗАТЕЛЬНО закавычить.

Читайте также:  что делать если после возбуждения болят яйца у мужчин

> вообще, чтобы переименовать ярлык, щёлкни по нему на рабочем столе правой кнопкой, выбери «Переименовать» и именуй, как хошь. 🙂

Mike, как модно говорит «вы жжОте непадецки» 😉 Видимо человеку надо именно так, а не иначе.

>CD здесь ни к чему.

ren «%USERPROFILE%\Рабочий стол\Ярлык для TOTALCMD.lnk» TotalCmd.lnk

>Видимо человеку надо именно так.

Батник, видимо, разрабатывает.

Меня умиляют эти вопросы. Ответ на них один: обратитесь к специалисту. Как в той персидской басне: старик пришел к соседу и просит у него меру для зерна, тот отвечает: «Иди к другому, у меня нет сита».

— Почему? Я прошу меру?

— У тебя трясутся руки, ты просыпешь зерно на пол. Придешь за совком и веником. Соберешь. Зерно надо будет просеять. А сита у меня нет. Иди к другому.

>У тебя трясутся руки, ты просыпешь зерно на пол. Придешь за совком и веником. Соберешь. Зерно надо будет просеять. А сита у меня нет. Иди к другому.

Источник

Ошибка в синтаксисе команды MOVE

Буду писать дословно чтобы избежать путаницы.
Открыта консоль. Текущий каталог:

Перемещение файлов с помощью команды MOVE
Доброго всем времени суток! Я попытался написать простенький bat файл, который перемещает из.

Ошибка в синтаксисе команды. Переименование файла
Нужно переименовать файл 1.txt на 2.txt. Запускается без ошибок, после в консольном окне пишет.

Создать аналог unix команды move
Кто может подсказать(привести рабочий пример)как это реализовать?

How can I resize a picture when I move a move a mouse on it, and size it back when I move mouse out?
How can I resize a picture when I move a move a mouse on it, and size it back when I move mouse.

Не работает из CMD.

При том, что консоль работает по-умолчанию, в кодировке OEM-866.
Блокнот, по-умолчанию, сохраняет в кодировке WIN-1251.

Как понимаете, одно с другим несовместимо.
Если напечатать путь с кириллицей в блокноте, и выполнить получите ошибку.
Напишите в блокноте:

Танец с бубном, это когда набираешь в консоле такую длинную строку, вместо бат-файла.

Покажите скриншот консоли во время всего этого действия.

Добавлено через 53 секунды
Специально для Вас обновил тему: Русский текст в консоли

Dragokas, sov44, спасибо вам большое что стимулировали мои аналитические возможности!)

Почитайте справку про cd /?
еще более страшные вещи узнаете про кавычки.

Все зависит от того, как была реализована та или иная утилита.
Для надежности всегда используйте общепринятые конструкции.

Источник

Строительный портал