Похожие вопросы

Как удалить пробелы из имен файлов и папок?
Пути к файлам длиной более 260 символов в Window 10 Home Edition
Как найти все файлы на Mac с именем файла, который является незаконным в Windows?
Автоматическое включение даты сохранения в имени файла?
Порядок сортировки специальных символов в Проводнике Windows?
При переименовании, как я могу отключить Windows 7 выделяя все имя файла, когда я click'n'Drag через часть его?
Длина имени файла Windows 7 ограничена 129 символами
Как удалить файл с слишком длинным путем для удаления [дубликат]
Как отключить автозаполнение для имен файлов в Windows 7?
OneDrive для бизнеса длинные имена файлов не будет тонуть на одном компьютере, хорошо на других
Facebook photos: пакетное переименование в полезные имена файлов [дубликат]
Trim имена файлов Tarballs с помощью Bash
Как мне удалить часть имени файла для пакета файлов в Windows 8.1?
Обрабатывать имя файла с пробелами внутри Bash-скрипта
Почему одинаковые файлы находятся в одном каталоге Windows 7?

Как скопировать файл с пробелами удаленно с помощью 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 и выполнив там команду. Я также могу выполнять эти команды через файл оболочки, но я бы не хотел создавать новый файл каждый раз.

5
задан Master Chief
источник

2 ответов

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

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

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

1
отвечен Master Chief 2014-10-09 05:49:35
источник

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

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

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

0
отвечен dtigue 2014-10-08 14:31:39
источник

Другие вопросы filenames linux remote sftp windows-7