Saya mengalami masalah menggunakan PSCP dalam program C # untuk menyalin file dari mesin Unix ke mesin Windows. Masalahnya hanya terjadi ketika folder target pada mesin Windows memiliki ruang di dalamnya. Misalnya, berikut ini berfungsi dengan baik: (CATATAN: alamat IP dan kata sandi telah diubah untuk contoh ini)
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt C:\download
Tetapi ketika saya mengubahnya ke ini:
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt C:\download files
Saya mendapatkan kesalahan berikut: Lebih dari satu sumber jarak jauh tidak didukung.
Saya menyadari itu karena PSCP memperkenalkan ruang sebagai target lain. Tetapi bagaimana saya bisa melakukannya? Saya telah mencoba segala macam hal seperti memasukkannya ke dalam tanda kutip dan keluar dari ruang. Saya telah mencoba semua yang berikut dan tidak ada yang berhasil:
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt "C:\download files"
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt C:\"download files"
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt C:\download\\ files
Ada ide?
Tambahkan periode ke folder tujuan. Berikut ini harus bekerja dengan yang ditambahkan . pada contoh Anda:
sumber
baik pertama, seperti yang telah Anda sebutkan, Anda memiliki ruang di jalur Anda. Jadi akan lebih bijaksana untuk menggunakan tanda kutip "C: \ unduh file". Kedua seperti yang telah Anda tunjukkan, Anda perlu menambahkan aplikasi Anda ke PATH Anda untuk memanggil pscp tanpa jalur aneh. dan ketiga. Gunakan konvensi penamaan yang mencegah kekacauan ini karena mengutip semuanya.
Keduanya memecahkan masalah, dan Anda terlihat 100.500 kali lebih keren.
sumber