1

外部サーバーからファイルを ftp し、外部サーバーでそれらを削除していますが、ファイル名にスペースがあったために 1 つのファイルが失敗しました。ファイル名を引用符で囲むように ftp delete コマンドを変更しました。

ftpStream.WriteLine("delete """ & FileToDelete & """")

しかし、ユーザーがファイル名の作成に使用する可能性のある他の文字はありますか? それらのファイル名が何であるかを制御することはできません。

(SSIS パッケージから ftp タスクをオンザフライで作成するため、SSIS と SQL Server のタグを付けます。両方の OS は Win XP です)

4

2 に答える 2

2

ファイル システムによって予約されている文字は使用できません。これには通常、スペース、コンマ、スラッシュ、コロン、疑問符、二重引用符などが含まれます。しかし、JaredPar が述べたように、各ファイル システムには常に重複するとは限らない独自の予約文字セットがあるため、スペースはおそらく唯一の普遍的な違反者です。

ftp または http パスを URL エンコードすることをお勧めします。これにより、スペースが %20 に変換されます。通常、これは ftp サーバーによって認識されるはずです。

于 2008-12-31T22:44:37.360 に答える
0

FTP RFC (RFC 959)のセクション 5.3 を参照してください。ファイル名の一部として不正な文字は、CrLf 以外には実際にはありません。

問題は、送信先サーバーがどの文字をチョークするか、または不正な FTP 文字を知ることです。スペースを除けば、問題を引き起こす文字はあまり多くないと思います.s しかし、私は FTP の専門家ではありません。

于 2008-12-31T22:43:04.773 に答える