0 / 0 / 0 Регистрация: 07.10.2015 Сообщений: 31 |
|
1 |
|
Синтаксическая ошибка в имени файла, имени папки или метке тома13.01.2019, 20:26. Показов 55566. Ответов 6
Здравствуйте. Выполняю лаб. работу в cmd, в которой есть задание связанные с командой «Copy». Появляется вот такое сообщение «Синтаксическая ошибка в имени файла, имени папки или метке тома.» при любой попытки скопировать файл. Файлы как только не обзывал. Пробовал разные форматы. Переносил в разные папки. Пробовал на флешке с ними работать. Ему попросту не нравятся сами файлы. Файлы не пустые. Я их попробовал закинуть в папку и скопировать все содержимое из нее, в итоге он доходит до первого файла, пишет все тоже самое и ничего не копирует. Язык программ, не поддерживающих Юникод стоит Русский, хоть у меня пути все на английском и так были. Подскажите в чем может быть проблема.
0 |
Модератор 8316 / 4215 / 1602 Регистрация: 01.02.2015 Сообщений: 13,125 Записей в блоге: 4 |
|
13.01.2019, 20:49 |
2 |
Вы работаете в Windows или в DOS (чистом, виртуальной машине, эмуляторе)?
0 |
0 / 0 / 0 Регистрация: 07.10.2015 Сообщений: 31 |
|
13.01.2019, 21:15 [ТС] |
3 |
В windows
0 |
4332 / 2122 / 661 Регистрация: 26.04.2015 Сообщений: 6,823 |
|
13.01.2019, 23:25 |
4 |
при любой попытки скопировать файл покажите эти попытки, выложите сюда код который дает такую ошибку и список файлов в этой папке командой Добавлено через 12 минут
0 |
0 / 0 / 0 Регистрация: 07.10.2015 Сообщений: 31 |
|
14.01.2019, 00:33 [ТС] |
5 |
Список файлов:
0 |
alpap 4332 / 2122 / 661 Регистрация: 26.04.2015 Сообщений: 6,823 |
||||
14.01.2019, 03:59 |
6 |
|||
так работает?
Добавлено через 3 часа 0 минут
просто юзеры и имя пользователя эти имена запросто могут иметь пробелы
1 |
0 / 0 / 0 Регистрация: 07.10.2015 Сообщений: 31 |
|
14.01.2019, 18:30 [ТС] |
7 |
Спасибо. Помогло. Видимо проблемы были в названиях пути.
0 |
…Ошибка в синтаксисе команды
Раздел форума:
Автор темы:
При вводе в 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.
Если перестановка ОС — это просто.
- Remove From My Forums
-
Вопрос
-
Задача — создать файл из cmd скрипта
@echo off set PATH1=error:data.txt set PATH2=d:data.txt set /a error=0 set DATA=^ line1 ^ line2 ^ line3 echo Creating %PATH1% (echo %DATA% 1>%PATH1% 2>nul) && set /a error=0 || set /a error=1 echo errorLevel= %errorLevel% echo error= %error% if %error% equ 0 ( type %PATH1% ) echo. echo Creating %PATH2% (echo %DATA% 1>%PATH2% 2>nul) && set /a error=0 || set /a error=1 echo errorLevel= %errorLevel% echo error= %error% if %error% equ 0 ( type %PATH2% ) pause
Выдаёт следующие
Creating error:data.txt Синтаксическая ошибка в имени файла, имени папки или метке тома. errorLevel= 0 error= 1 Creating d:data.txt errorLevel= 0 error= 0 line1 line2 line3 Для продолжения нажмите любую клавишу . . .
Вопросы:
1. Можно ли подавить вывод ошибки ECHO (Синтаксическая ошибка в имени файла, имени папки или метке тома.)?
2. Почему выполнение ECHO не влияет на %errorLevel%?
3. Возможно ли создать многострочный файл одной командой ECHO?
Ответы
-
«Подавить» ошибку нельзя, надо просто ее не допускать ее. Например, надо указать верный путь вместо неверного «error:data.txt». Если путь водится пользователем, то его следует проверить на правильность и выдать сообщение
об ошибке если кто то напечатает неверный путь.Команда еcho никогда не отказывает и нужды выставлять/проверять код нет. Отказ у вас происходит в другой части скрипта где вы использовали заведомо неверный путь для переназначения вывода.
Для создания файла с несколькими строками можно использовать команду for. Строки при этом должны быть разделены запятыми. То что вы использовали на деле создает одну строку. Кроме того если требуется то файл следует
перед выводом удалить или очистить.@echo off
set output=correct_file_name.txt
set data=line1,line2,line2
for %%l in (%data%) do echo %%l>>%output%
This posting is provided «AS IS» with no warranties, and confers no rights.
-
Предложено в качестве ответа
18 мая 2020 г. 22:28
-
Помечено в качестве ответа
sergey-kuznet
21 мая 2020 г. 14:23
-
Предложено в качестве ответа
Как заставить систему видеть путь в батнике?
Я сделал батник для удаления папки вот такой командой
rd /s /q «C:UsersАльтронAppDataLocalmRemoteNG»
Но батник выдаёт ошибку, пишет, что системе не удалось найти указанный путь. При этом та же команда в CMD работает и путь находится. В чём подвох?
-
Вопрос заданболее трёх лет назад
-
7176 просмотров
У вас в пути русские буквы.
По умолчанию кодировка в cmd cp866, а вы батник скорее всего сохранили в кодировке cp1251 (или того хуже в UTF8), поэтому и русские буквы у вас стали кракозябрами и такой путь найтись не может.
Либо добавьте перед вашей командой в батнике команду
chcp 1251
Либо сохраните батник в кодировке cp866 любы доступным средством, только убедитесь, что русские буквы правильно конвертировались.
Пригласить эксперта
А как прописать команду для cmd, если в пути есть папка на кириллице и с пробелами в пути?
-
Показать ещё
Загружается…
04 июн. 2023, в 01:35
1500 руб./за проект
04 июн. 2023, в 01:25
40000 руб./за проект
03 июн. 2023, в 23:42
1500 руб./за проект
Минуточку внимания
i’m getting error when running this command:
for /f "delims=|" %f in ('dir /b y:dbb') do "Y:robocopy.exe" "y:dbb%f" "y:dba%fCertificates and deliverables" /e
"Y:robocopy.exe" "y:dbba 001" "y:dbaa 001Certificates and deliverables" /e
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows :: Version XP010
-------------------------------------------------------------------------------
Started : Tue Mar 15 14:06:41 2011
Source : y:dbba 001" y:dbaa
Dest : y:dbb01Certificates
Files : and
deliverables"
Options : /S /E /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
2011/03/15 14:06:41 ERROR 123 (0x0000007B) Accessing Source Directory y:dbba 001" y:dbaa
The filename, directory name, or volume label syntax is incorrect.
i cannot seem to get it work, help pls.
atzz
17.4k3 gold badges35 silver badges35 bronze badges
asked Mar 15, 2011 at 14:11
When parsing the command line, some commands treat "
as an escaped "
.
You should double your backslash.
Also see This reference regarding the MSVCRT (a dependency walker shows robocopy uses the MSVCRT).
Let me suggest:
for /f "delims=|" %f in ('dir /b y:dbb') do "Y:robocopy.exe" "y:dbb%f\" "y:dba%fCertificates and deliverables" /e
answered Mar 15, 2011 at 14:21
BenoitBenoit
76.2k23 gold badges209 silver badges235 bronze badges
1