1

У меня проблемы с копированием файлов с символами UTF-8 с использованием pscp в Windows. Я использую командную строку для этой и следующей команды:

chcp 65001
pscp -scp -p -pw {pass} -batch "user@remote_host:/Справочник/file.txt" "E:\Справочник\file.txt"
scp: E:/??????????/file.txt: Cannot create file

Как показано, я получаю scp: E:/??????????/file.txt: Cannot create file ошибку файла . Как я могу передавать файлы с символами UTF-8 в их пути?

1 ответ1

0

Настройка реестра приложения шрифта UTF-8 (пример:cmd)

Используйте путь к pscp

Способ-1, PowerShell:

Путь к приложению, измените \ на _:

AppUTF8Font.ps1:

$app='.\%SystemRoot%_system32_cmd.exe'
SL HKCU:\Console;NI $app;SL $app

New-ItemProperty . FaceName -t STRING -va "Lucida Console"
New-ItemProperty . FontFamily -t DWORD -va 0x00000036

Нужно разрешить локальный скрипт powershell:

powershell -command "Set-ExecutionPolicy RemoteSigned"

И запустить:

powershell .\AppUTF8Font.ps1

Путь-2, рег-файл:

Или используйте reg-файл:

REGEDIT4

[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"FaceName"="Lucida Console"
"FontFamily"=dword:00000036

Командная строка:

REG IMPORT Cmd_UTF8.reg

Удалить настройки reg-файла:

REGEDIT4

[-HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]

Командная строка:

REG IMPORT Cmd_UTF8_Delete.reg

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .