Как скопировать файл с пробелами удаленно с помощью sftp

Я пытаюсь скопировать файл из Windows 7 в Linux debian с помощью SFTP
Имя файла ba ck.bak

Я использую SFTP для удаленного размещения файла через командную строку windows
Если filename обратно.bak затем команда выполняется успешно

sftp> sftpc root@xxx.xxx.xxx.xxx:xx -pw=XXXXX -cmd="put back.bak /tmp"

но если filename ba ck.bak, т. е. с пробелами возникает ошибка
Я пробовал использовать

-cmd="put 'ba ck.bak' /tmp"

но не работает

Я использую этот файл в Windows пакетный файл, поэтому я не могу выполнить, войдя в сеанс sftp и выполнив там команду. Я также могу выполнять эти команды через файл оболочки, но я бы не хотел создавать новый файл каждый раз.

19
задан Master Chief
25.01.2023 2:23 Количество просмотров материала 3646
Распечатать страницу

2 ответа

хорошо, я получил ответ сам. Вместо того, чтобы искать по всему интернету, я проверил справку для команды и получил ответ в примерах:

sftpc root@xxx.xxx.xxx.xxx:xx -pw=XXXXX -cmd="put \"ba ck.bak\" /tmp"

пришлось бежать от qoutes.

1
отвечен Master Chief 2023-01-26 10:11

вы должны отменить эти пробелы, используя'\'. Таким образом, ваша команда будет,

sftp> sftpc root@xxx.xxx.xxx.xxx:xx -pw=XXXXX -cmd="put ba\ ck.bak /tmp"

это заставит оболочку не видеть пространство в имени файла.

0
отвечен dtigue 2023-01-26 12:28

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

filenames
linux
remote
sftp
windows-7
Вверх