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

Как найти все файлы на Mac с именем файла, который является незаконным в Windows?
Добавлять.PCAP окончание всех файлов, созданных с tcpdump
Mac OS: как я могу переименовать файл, например APP 001.gif в 01.gif?
Как найти и заменить символ в именах файлов в Windows 7 с помощью проводника?
Порядок сортировки специальных символов в Проводнике Windows?
Как мне удалить часть имени файла для пакета файлов в Windows 8.1?
Почему одинаковые файлы находятся в одном каталоге Windows 7?
Как узнать имя и путь запущенного приложения gui на linux?
Как отключить автозаполнение для имен файлов в Windows 7?
Исправлена кодировка немецких umlauts в каталогах и именах файлов (ü = U ê ê и так далее)
Получить имя файла без расширения в Bash
Как удалить пробелы из имен файлов и папок?
Как скопировать файл с пробелами удаленно с помощью sftp
OneDrive для бизнеса длинные имена файлов не будет тонуть на одном компьютере, хорошо на других
Какие файлы/каталоги, правила именования в Linux?

Как скопировать файл с пробелами удаленно с помощью 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