 |
|
Проблема с кириллицей
Здравствуйте.Имеется bat-скрипт для копирования файлов и папок:
Код:
Echo off&chcp 866&Title C O P Y & Cls
set inputdir=%1
set mask=%2
set outdir=%3
if "%mask%"=="" set mask=*.*
if "%outdir%"=="" set outdir=%CD%
set /p inputdir=Что копировать?
set /p mask=Введите маску:
set /p outdir=Куда копировать?
echo d| xcopy "%inputdir%\%mask%" "%outdir%"\"download" /s/c/h/n/y/
Проблема в том что у полученных копий файлов и папок в имени вместо кириллицы иероглифы.Сам скрипт написан в AkelPad'е и сохранён в кодировке DOS-866.
Пробовал подставлять в начале скрипта и chcp 1251.результат такой же.Погуглив,находил вот это:
Код:
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /t REG_SZ /d "Lucida Console" /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontFamily /t REG_DWORD /d 0x0000036 /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontSize /t REG_DWORD /d 0x000c0000 /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontWeight /t REG_DWORD /d 0x0000190 /f
но и это не помогло.Знаю что где-то что-то не дописал или ошибся.Что посоветуете?заранее спасибо за помощь.
|
«chcp 866» лишнее — это и так кодировка по умолчанию. Кстати, что отображает пустая «chcp» в «чистой» командной строке?
Цитата:
Цитата Anton23
Проблема в том что у полученных копий файлов и папок в имени вместо кириллицы иероглифы. »
|
Покажите скриншоты исходных и результирующих файлов и папок.
Цитата:
Цитата Anton23
Погуглив,находил вот это: »
|
«Это» отвечает за шрифт в окне консоли «cmd.exe».
|
Цитата:
Цитата Anton23
Сам скрипт написан в AkelPad'е и сохранён в кодировке DOS-866. »
|
Попробуй использовать Notepad++
Или на powershell переходить;)
|
Petya V4sechkin |
03-06-2013 07:30 2161167 |
Anton23, в скрипте ошибок не видно.
Цитата:
в имени вместо кириллицы иероглифы
|
Куда/откуда копируете? Сетевой ресурс с UNIX-like + Samba?
|
А просто в настройках окошка командной строки выставить "Lucida Console" нельзя? Если нужного шрифта нет то его можно добавить:
Код:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
Код:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont]
"0"="Lucida Console"
"00"="Consolas"
"000"="Courier New Cyr"
|
Цитата:
Цитата Iska
Кстати, что отображает пустая «chcp» в «чистой» командной строке? »
|
Текущая кодовая страница: 1251
Цитата:
Цитата Iska
Покажите скриншоты исходных и результирующих файлов и папок. »
|
Цитата:
Цитата Petya V4sechkin
Куда/откуда копируете? Сетевой ресурс с UNIX-like + Samba? »
|
Всё гораздо проще) всё делается в Windows xp.скрипт нужен для работы.мелочь,а реально экономит время
p.s. видимо в начале темы немного неправильно указал.выводятся не иероглифы а названия из цифр из букв вместо кириллицы.собственно,на скринах всё видно.
|
Anton23, скорей всего, проблема здесь:
Цитата:
Цитата Anton23
Код:
xcopy "%inputdir%\%mask%" "%outdir%"\"download" /s/c/h/n/y/
»
|
Параметр /N -- зто использование коротких имен при копировании, а короткие имена с кириллицей "не дружат". Попробуйте исключить этот параметр.
|
Цитата:
Цитата Georgio
Параметр /N -- зто использование коротких имен при копировании, а короткие имена с кириллицей "не дружат". Попробуйте исключить этот параметр. »
|
Большое спасибо.всё получилось.в bat-никах не особо разбираюсь,скрипт составлял из разных кусков скриптов найденных в инете.Когда появилась проблема перепробовал всё,но вот про ключи почему-то и не подумал.Всем спасибо за помощь,вопрос решён.
|
Цитата:
Цитата Anton23
p.s. видимо в начале темы немного неправильно указал.выводятся не иероглифы а названия из цифр из букв вместо кириллицы.собственно,на скринах всё видно. »
|
Ну, вот… А меня ввело-таки в заблуждение Ваше утверждение об «иероглифах» :(.
Цитата:
Цитата Anton23
Всем спасибо за помощь,вопрос решён. »
|
Не до конца:
Цитата:
Цитата Anton23
Текущая кодовая страница: 1251 »
|
Проверьте: Разное - [решено] Сбилась кодировка командной строки.
|
Время: 08:19.
© OSzone.net 2001-