Plink cmd.exe mkdir с пробелом не работает - PullRequest
2 голосов
/ 18 июля 2011

Я использую plink на рабочем столе Windows 7, чтобы создать папку на сервере Windows 2008.Сервер использует pragmaSSH, чтобы разрешить SSH-соединение, и там все прекрасно работает.

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

У меня естьбазовая команда plink, которая работает следующим образом

plink.exe -i privatekey.ppk user@server cmd.exe /c mkdir "c:\asdfasdf"

, но изменить эту команду на эту не удается.таким образом, пробел - моя проблема.

plink.exe -i privatekey.ppk user@server cmd.exe /c mkdir "c:\asdf asdf"

Я пытался избежать этого всеми возможными способами, я могу думать и всегда получать ту же проблему с пробелом.

Хорошопосле 60000 попыток я понял, как передать кавычки на сервер.

plink.exe -i privatekey.ppk useryserver mkdir \\ "" "c: \ asf asf \\" ""

, который отправил 1 кавычку с каждой стороны и выполнил команду как mkdir "c: \ asf asf"

1 Ответ

2 голосов
/ 19 июля 2011

Кавычек достаточно для того, чтобы избежать команды для plink, которая недостаточно умна, чтобы снова заключать в кавычки на другой стороне (разумно, так как она не может знать, какая странная оболочка может там работать).

Итак, вам нужно следующее:

plink.exe -i privatekey.ppk user@server cmd.exe /c mkdir "\"c:\asdf asdf\""
...