Chinaunix

标题: ftp里的get文件名有空格问题 [打印本页]

作者: sandy_23678    时间: 2003-06-10 10:36
标题: ftp里的get文件名有空格问题
在我的Filename里存的是.rs1的文件,如果文件名为1111_杭州.rs1,文件能正确下载,
如果是io out grps_杭州.rs1时,文件就不能被正确的取出来:
提示out:the system cannot fine the file specified
io: the system cannot find the file specified
如果文件名当中有空格的话,ftp就不能正确下载,但是如果我用:
get "io gprs_杭州.rs1"就能下载了,可是我的d.sh程序怎么改都不行,请各位指教!
我的对应代码:
char cmd[100],Filename[100],Filedir[100];
printf("%s",Filename);(屏幕上显示为:io out grps_杭州.rs1说明文件名本身没有取错);
sprintf(cmd,"sh d.sh %s %s",Filename,Filedir);
system(cmd);
d.sh:
Filename=$1
Filedir=$2

ftp -n<<!
open 192.168.200.79
user user nbpt
binary
cd $Filedir
get $Filename
close
bye
!

好象请教如何判断文件已经下载完成?
如果限制在下载文件的过程中不能对文件进行读写,只有下载完成才能进行操作
作者: kkng09    时间: 2003-06-10 10:45
标题: ftp里的get文件名有空格问题
加雙引號

get "$Filename"

應該可以的.
作者: sandy_23678    时间: 2003-06-10 10:58
标题: ftp里的get文件名有空格问题
我试过了这个方法不行
作者: kkng09    时间: 2003-06-10 12:29
标题: ftp里的get文件名有空格问题
找到了問題地方

sprintf(cmd,"sh d.sh %s %s",Filename,Filedir);

如果filename有空白
在執行時參數會出現錯誤,
所以改為
sprintf(cmd,"sh d.sh \"%s\" \"%s\"",Filename,Filedir);
作者: 蓝色键盘    时间: 2003-06-10 13:04
标题: ftp里的get文件名有空格问题
哦。这里也有人回答了。呵呵
作者: sandy_23678    时间: 2003-06-10 13:39
标题: ftp里的get文件名有空格问题
明白了,多谢!
    真没想到,我问问题都能问到100多贴呀




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2