Ошибка в синтаксисе команды cmd что это


Автор:

Louise Ward


Дата создания:

5 Февраль 2021


Дата обновления:

11 Июнь 2023


Курс по React JS. #2 Авторизация пользователя. Цепочка Promises. Async await. Обработка ошибок

Видео: Курс по React JS. #2 Авторизация пользователя. Цепочка Promises. Async await. Обработка ошибок

Содержание

  • Копирование файла с пробелом
  • Перемещение файла с пробелом в имени файла
  • Переименование файла с пробелом в имени файла

В командной строке Windows при попытке скопировать, переместить или переименовать файл или каталог с пробелом вы можете получить сообщение «Неверный синтаксис команды». сообщение об ошибке. Это сообщение об ошибке генерируется, когда командная строка Windows не понимает синтаксис команды, поскольку он не отформатирован должным образом. Чтобы решить эту проблему, заключите в кавычки любое имя файла или имя каталога пробелами.

Например, если бы у нас был каталог или имя файла под названием «компьютерная надежда», вы должны ввести следующие команды.

Копирование файла с пробелом

В этом первом примере мы копируем файл «computer hope.txt» в каталог Hope. Если файл не заключен в кавычки, вы получите сообщение «Неверный синтаксис команды». сообщение об ошибке.

скопируйте «компьютер надежда.txt» надежда

Перемещение файла с пробелом в имени файла

Затем следующая команда переместит файл «computer hope.txt» в каталог Hope. Опять же, без кавычек вы получите сообщение об ошибке.

переместить «компьютер надежда.txt» надежда

Переименование файла с пробелом в имени файла

Наконец, следующая команда переименует тот же файл в пример file.txt, который также имеет пробел в имени файла.

переименуйте «компьютер» hope.txt «в» example file.txt »

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

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

Автор темы: 

При вводе в cmd.exe команды ren cd %USERPROFILE%Рабочий столЯрлык для TOTALCMD.ink TotalCmd.ink выбивает Ошибка в синтаксисе команды. Мне кажется, что проблема здесь в пробелах в имени. Но как её решить? Может можно их заменить каким-нибудь другим символом? Если кто-то знает ответ, помогите, пожалуйста.

В пути с пробелами путь должен быть в кавычках: «С:Program files» например, а не С:Program files

Кстати, нужно ещё поменять и расширение — не ink, а lnk.

Всем спасибо за помощь, но у меня все равно что-то не получается.

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

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

ИМХО, дело в том, что аргументом к cd должен быть путь к папке, а не к файлу.

А если прописать так:

chcp 1251

cd %USERPROFILE%

cd «Рабочий стол»

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

Должно. Попробуйте. Если нет — сообщите, будем разбираться.

Кавычка должна быть ПОСЛЕ cd, я же писал — путь, а не команда

И ren всесте с сd в отдой строке нельзя, все по порядочку, по командочке.

Сначала в нужный каталог, потом дальше… т.е. расписать все на бумаге словами, столбиком, а потом все переводить в команды, и если заработает — начинать оптимизировать, наводить красоту.

>Сначала в нужный каталог, потом дальше…

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

ren «Ярлык для TOTALCMD.Ink» TotalCmd.Ink

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

>ren «Ярлык для TOTALCMD.Ink» TotalCmd.Ink

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

Фениксу. Кавычек я не ставлю ещё cо времён CP/M. Всё всегда переименовывалось. Но 1) убедись, что файл Ярлык для TOTALCMD.Ink у тебя в текущем дире действительно есть, для чего введи dir Ярлык для TOTALCMD.Ink или, что ИМХО лучше, dir *TOTALCMD.* 2) убедись, что кириллица в имени файла нигде не путается с латиницей. (Не накололи ли тебя на 1-ое апреля?) А вообще, чтобы переименовать ярлык, щёлкни по нему на рабочем столе правой кнопкой, выбери «Переименовать» и именуй, как хошь. :)

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

chcp 1251

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

Проверено, работает.

2 Phoenix:

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

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

2 mike (old student):

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

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

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

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

Огромное спасибо всем кто помог мне, и особенно Sens’у

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

chcp 1251

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

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

ОК, глюканул.

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

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

На экране церез 10 минут после включения кмпа начинает мигать кажд. 2 сек.окно CWindowssystem32cmd.exe, то черное, то белое,в черном — слова Ошибка в синтаксисе команды и все. Остальное работает.Что делать? ПОМОГИТЕ!

>Остальное работает.Что делать? ПОМОГИТЕ

Вирус — лечить!

:) Следующий вопрос будет «Чем и как». Потом «где взять»…

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

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

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

Эдуард > :) Следующий вопрос будет «Чем и как». Потом «где взять»…

Почти любой вирус лечится просто — перестановкой OC.

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

;-)

>Почти любой вирус лечится просто — перестановкой OC.

Если перестановка ОС — это просто.

Can someone explain to me why this command reports «The syntax of the command is incorrect.»? The first part runs fine by itself, so I know it’s not that. And the second part looks to be correct according to help find

C:Program FilesApache Software FoundationApache2.2logs>type error.log ^| find /C "2010"

I was wondering if it might have to do with line endings in the file, but even something as simple as this gives me the same error:

C:Program FilesApache Software FoundationApache2.2logs>echo "Test1" > test.log

C:Program FilesApache Software FoundationApache2.2logs>echo "Test2" >> test.log

C:Program FilesApache Software FoundationApache2.2logs>echo "Test3" >> test.log

C:Program FilesApache Software FoundationApache2.2logs>type test.log
"Test1"
"Test2"
"Test3"

C:Program FilesApache Software FoundationApache2.2logs>type test.log ^| find /C "test"
The syntax of the command is incorrect.

C:Program FilesApache Software FoundationApache2.2logs>type test.log ^| find /C "Test"
The syntax of the command is incorrect.

mkdir is unable to create direcotry

mkdir path/to/dir
The syntax of the command is incorrect.

asked Oct 17, 2018 at 20:44

Anadil's user avatar

Use back slashes, like this:
mkdir pathtodir

answered Oct 17, 2018 at 20:46

Anadil's user avatar

AnadilAnadil

4891 gold badge4 silver badges7 bronze badges

2

gzhegow

Вот такой файлик пишет «ошибка в синтаксисе команды». Я не вижу какой-то очевидной вещи.

@ECHO off

SET /p base1=Введите базу экспорта данных ^>
SET /p table=Введите таблицы через пробел или (пусто), если вся база ^>
SET /p base2=Введите базу импорта данных ^>

REM ЭКСПОРТ -- Если введены таблицы
if NOT [%table%] == [] (
  FOR %%i IN (%table%) DO (
    SET filename=%base1%__%%~i.sql.gz
    ECHO Экспортируем таблицу `%%~i` из базы `%base1%` в файл `%filename%`
    mysqldump -h localhost -u USER -pPASS %base1% %%~i | gzip > %filename%
  )
)

REM ИМПОРТ -- Если введены таблицы
if NOT [%table%] == [] (
  FOR %%i IN (%table%) DO (
    SET filename=%base1%__%%~i.sql.gz

    ECHO Удаляем таблицу `%%~i` из базы `%base2%`
    ECHO DROP TABLE IF EXISTS %%~i | mysql -h localhost -u USER -pPASS %base2%

    ECHO Импортируем файл `%filename%` в базу `%base2%`
    gzip -d < %filename% | mysql -h localhost -u USER -pPASS %base2%
  )
)

REM ЭКСПОРТ -- Если не введены таблицы
if NOT [%table%] == [] (
  SET filename=%base1%.sql.gz
  ECHO Экспортируем базу `%base1%` в файл `%filename%`
  mysqldump -h localhost -u USER -pPASS %base1% | gzip > %filename%
)

REM ИМПОРТ -- Если не введены таблицы
if NOT [%table%] == [] (
  SET filename=%base1%.sql.gz

  ECHO Удаляем базу `%base2%`
  ECHO DROP DATABASE IF EXISTS %base2% | mysql -h localhost -u USER -pPASS

  ECHO Импортируем файл `%filename%` в базу `%base2%`
  gzip -d < %filename% | mysql -h localhost -u USER -pPASS %base2%
)

ECHO Успешно выполнено
pause

Попробовал так:

@echo off

SET /p base1 =Введите базу экспорта данных ^>
SET /p table =Введите таблицы через пробел или (пусто), если вся база ^>

REM ЭКСПОРТ -- Если введены таблицы
IF NOT [%table%]==[] (
  FOR %%i IN (%table%) DO (
    echo %%~i
  )
)

ECHO Успешно выполнено
pause

вопреки ожиданиям не выводит ничего для входных данных [1] = base, [2] =text text2


  • Вопрос задан

    более трёх лет назад

  • 1624 просмотра

1. В последнем примере у вас ошибка присвоения. Уберите пробел после знака =. Сейчас вы переменным base1 и base1 присваиваете пробелы.
SET /p base1 =Введите базу экспорта данных ^>
SET /p base1 =Введите таблицы через пробел или (пусто), если вся база ^>

2. Если вы используете echo для вывода содержимого переменных всегда вывод переменной обрамляйте чем-нибудь, например echo [%a%], иначе вы рискуете не увидеть что в переменной строка состоящая скажем из 10 пробелов.

Закоментируйте в начале @echo off.
Запустите с крипт с перенаправлением в файл так:
test.bat 1>file.log 2>&1
После исполнения в файле найдете ошибку и строку где она произошла.
Учтите, что на экран ничего выдаваться не будет, вводить придется в слепую.
Скидывайте сюда блок кода в котором происходит ошибка.

Пригласить эксперта


  • Показать ещё
    Загружается…

13 июн. 2023, в 19:27

4000 руб./за проект

13 июн. 2023, в 19:10

20000 руб./за проект

13 июн. 2023, в 19:04

2500 руб./в час

Минуточку внимания

Понравилась статья? Поделить с друзьями:
  • Ошибка в синтаксисе команды clean all
  • Ошибка в симс отсутствует файл
  • Ошибка в симс 4 память не может быть
  • Ошибка в симс 4 wickedwhims exception
  • Ошибка в симс 4 de4ee14f 29f00e76 00000000 4b0d852b