質問: ftpサーバーから受信したファイル一覧からファイル名だけを取得したいです こんばんは。いつもお世話になっております。 vb.net+winxpなのですが、 ftpサーバーにログインして、 listコマンドでファイル一覧を要求すると 「drwxrwxr-x 2 53 53 4096 feb 28 2006 abc」 などというファイルやフォルダの一覧がかえって来ると思うのですが、 この中からファイル名やフォルダ名だけを取得するには どうしたらよいでしょうか。 tabやコンマが入っていないので、文字列関数で切り取るにも 区切りがわからないと思うのです。 ローカルドライブのdir関数なら、fileattribute.nomalや.directoryの指定でファイル名だけや ディレクトリー名だけを指定して 取得することが出来るのですが、ftpサーバーの場合からの場合はどういった方法があるでしょうか。 参考程度でも構いませんので教えて頂けるとたすかります。m(__)m
回答: #1>ファイル名やディレクトリ名にスペースが使われている場合もあって難しいかなと思うのですが、 全然問題なし♪ 例えば 件のリストの1行はスペースで区切られた9のフィールドと考えられますけど、その場合 $line="-rwxrwxr-x 2 53 53 4096 feb 28 2006 include space 1.jpg"; @field = split(/\s+/, $line, 9);#フィールド数をしていすると、最後はまとめられる print $field[8];# 9番目のフィールドにスペースがあっても大丈夫