Войти

Показать полную графическую версию : [решено] не работает bat файл если в пути имеются русские символы.


Страниц : [1] 2

Pinguine
14-07-2011, 09:54
не работает bat файл если в пути имеются русские символы.
Для примера:

@echo off
xcopy "D:\BASE\!!!\save" "%UserProfile%\Мои документы" /E /C /H /R /K /Y /Z

@echo off
xcopy "D:\БАЗА\!!!\save" "%UserProfile%\Documents" /E /C /H /R /K /Y /Z

Хоть вариант 1, хоть вариант 2 не работают. Переименовать папки нет возможности. Что можно сделать?

P.S.>> Поиском воспользовался, но ничего подходящего не нашел.

Petya V4sechkin
14-07-2011, 10:02
Поиском воспользовался, но ничего подходящего не нашел.
Что-то не то и не так искали, вопрос из FAQ (задается регулярно).
Как добиться правильной работы пакетных файлов (*.bat, *.cmd), содержащих кириллические пути? (http://oszone.net/2774#q8)

root221
14-07-2011, 15:51
если вы батник пишите в win-1251 кодировке, тогда папробуйте так.

@echo off
chcp 1251 >nul
xcopy "D:\BASE\!!!\save" "%UserProfile%\Мои документы" /E /C /H /R /K /Y /Z

Pinguine
14-07-2011, 16:45
Моя вина в поиске искал а в FAQ не заглянул. Исправлюсь :)
Возник вопрос DOS-866 и OEM 866 (пользуюсь Notepad++) это одно и тоже?

amel27
14-07-2011, 17:11
Pinguine, DOS/OEM/866 - одно и то же (для русской локали)

Sly_Fox__
28-10-2018, 18:21
root221, Подскажи, как правильно написать данный код:
RMDIR \S \Q C:\Users\Administrator\Documents\Общие документы\Games
Не могу не как сделать чтобы на русском мог ввести. Переименовать папку " Общие документы " нельзя. Подскажи как правильно сделать, чтобы bat работал при запуске ?

Точнее код так выглядит RMDIR /S /Q C:\Users\Administrator\Documents\Общие документы\Games

Iska
28-10-2018, 20:32
как правильно написать данный код:
RMDIR \S \Q C:\Users\Administrator\Documents\Общие документы\Games »
Так и написать. Не забыв обрамить кавычками и использовав правильный вид слэшей для указания параметров.
rd /s /q "c:\Users\Administrator\Documents\Общие документы\Games"
Пакетный файл должен быть сохранён в кодировке OEM/866. Естественно, каталог c:\Users\Administrator\Documents\Общие документы\Games должен существовать и у пользователя, под которым будет исполняться пакетный файл, должно быть достаточно привилегий для его удаления.

tibor5
07-05-2019, 19:28
Как в командном файле (лучше в CMD) прописать знак ° (''символ градуса'', 0176)?
PS: ... этот символ расположен в пути файла, который нужно запустить через батник.

Iska
07-05-2019, 20:17
Как в командном файле (лучше в CMD) прописать знак ° (''символ градуса'', 0176)? »
В кодировке OEM/866 ему соответствует код 0xF8.

tibor5
07-05-2019, 21:52
ув. Iska, большое спасибо за отклик.
Если не в тягость, прошу детальнее для простого случая:
code:
start E:\A\Desktop\New°
... в error-окне пишет (прилагаю скрин):
Не удается найти " E:\A\Desktop\New^—". Проверьте, правильно ли указано имя и повторите попытку.
PS: ... после New (см. выше) идут 3 кракозябрины ...
СПАСИБО.
скрин:
http://i-fotki.info/25/d3dd704cc710e0f2337274d4d7ad8087b99984339914580.png.html
http://i-fotki.info/25/d3dd704cc710e0f2337274d4d7ad8087b99984339914580.png.html

Iska
07-05-2019, 23:25
tibor5, я же написал, что в кодировке OEM/866 данный символ имеет другой номер — не 0xB0 (176₁₀), а 0xF8 (248₁₀). А у Вас он так и остался под тем же номером (что явственно видно на скриншоте: 0xB0 в кодировке OEM/866 — это символ «░»), то, что он у Вас видится в редакторе, как символ градуса — так это потому, что пакетный файл у Вас не в той кодировке — в ANSI/1251 вместо потребной OEM/866:

https://i.imgur.com/d6NnwkE.png

Вам нужно пересохранить пакетный файл в кодировке OEM/866.

P.S. AkelPad — не лучший выбор для создания/редактирования пакетных файлов.

tibor5
08-05-2019, 00:18
Iska, спасибо, усвоил. Век живи - век учись! Удачи!

YuS_2
08-05-2019, 14:56
AkelPad — не лучший выбор для создания/редактирования пакетных файлов. »
Вы просто не умеете его готовить :)
Мало того, что он вполне подходит, в нем ещё и запускать пакетники можно, не переключаясь в консоль... :)
Да, конечно, полной эмуляции нет, но для проверки простых команд, вполне

Iska
08-05-2019, 15:19
Вы просто не умеете его готовить … в нем ещё и запускать пакетники можно, не переключаясь в консоль... »
Он неудобен. Far Manager наше фсё ;).

YuS_2
08-05-2019, 15:47
неудобен »
это чисто субъективная оценка, к тому же, это, всего лишь, дело привычки. :)
а объективно, вот например:
https://jpegshare.net/images/d3/2a/d32ace1429367da06a6eaab40ccce172.png (https://jpegshare.net/)
- где символы отображаются правильнеЕ? :wink:

Iska
08-05-2019, 21:43
YuS_2, правильный ответ — можно использовать любой редактор, если в шрифте есть необходимые глифы:

https://i.imgur.com/0Cm0HVK.png

У меня нет моноширинного шрифта, в котором бы был глиф для символа ﬔ. Посему мне пришлось тупо для AkelPad'а указать шрифт Arial Unicode MS (он не моноширинный, посему напрямую его для Far Manager'а использовать не получится, а вот посредством, например, ConEmu — вполне).

Но шрифты никаким боком не относятся к функционалу самих приложений.

https://i.imgur.com/hn7IsQM.png

YuS_2
09-05-2019, 08:44
правильный ответ — можно использовать любой редактор, если в шрифте есть необходимые глифы »
Согласен, это правильно. Шрифт, кстати, Consolas, там есть эти глифы.
Но и утверждая, что AkelPad - не лучший выбор, необходимо что-то более объективное приводить, кроме удобства. :)
А возможностей там - хоть отбавляй. Особенно, что касается скриптовой части...
Например, можно даже переводчик использовать:
https://jpegshare.net/images/a0/2c/a02cee8b03d27115b0d881f5a866e150.png (https://jpegshare.net/)
если говорить о функционале... и т.д. и т.п.

mwz
09-05-2019, 11:11
А возможностей там - хоть отбавляй »

Добавьте: при использовании плагинов. ;)
Поскольку "голый" бинарник (http://ufpr.dl.sourceforge.net/project/akelpad/AkelPad%204/4.9.8/AkelPad-4.9.8-bin-rus.zip) в основном является простым, хоть и весьма продвинутым, заместителем Блокнота.

Busla
09-05-2019, 12:36
правильный ответ — можно использовать любой редактор, если в шрифте есть необходимые глифы: »
неправильный
Это в самых простых случаях символ в txt-файле однозначно соответствует глифу в шрифте. Есть модификаторы (надстрочные знаки), есть глифы для сочетания символов (массово в имитации рукописного текста), ну и эмодзи. Всё это требует поддержки со стороны ПО для корректного отображения и редактирования.

YuS_2
09-05-2019, 13:49
Добавьте: при использовании плагинов. »
И? Это как-то уменьшает функциональные возможности? :)

Поскольку "голый" бинарник в основном является простым, хоть и весьма продвинутым, заместителем Блокнота. »
А в Far-е, редактор совсем "голый" используется? И плагинов нет?
Сравнивать надо сравнимое. К тому же, фаровский редактор вообще без Far не работает, но это ведь не записывается ему в минусы... :)

Всё это требует поддержки со стороны ПО для корректного отображения и редактирования. »
Ну, это-то само собой подразумевается. Ибо наличие неотображаемых в конкретном ПО глифов шрифта, никаких преференций не дают...




© OSzone.net 2001-2012