コード c# で zip ファイルを削除したい
try
{
System.IO.File.Delete(@"C:/Projets/Prj.zip");
}
catch { }
しかし、私はこのエラーがありますThe format of the given path is not supported.
なぜこの例外が表示されるのですか? このエラーを修正するにはどうすればよいですか?
バックスラッシュではなくスラッシュを使用したため、次のようになりました。
try
{
System.IO.File.Delete(@"C:\Projets\Prj.zip");
}
catch { }
奇妙な文字がどこかに滑り込んで無効になっているようです。上記の行をコピーして貼り付けると、同じ例外が発生します。ただし、文字列を削除して手で入力すると、FileNotFound
(明らかに) が表示されます。
次の行をコピーして貼り付けてみてください:
System.IO.File.Delete(@"C:\Projets\Prj.zip");
"
さらに調査した結果、犯人はと の間の見えないキャラクターのようC
です。具体的には、「左から右への埋め込み」用の Unicode 文字が存在します。文字列を Unicode に変換すると、はっきりとわかります。
System.IO.File.Delete(@"‪C:\Projets\Prj.zip");
Windows のファイル パスは、スラッシュではなくバックスラッシュを使用します。
System.IO.File.Delete(@"C:\Projets\Prj.zip");
ライブラリを使用Path
して、プラットフォームに依存しないパス操作にアクセスします。以下に例を示します。
var root = "C:" + Path.DirectorySeparatorChar;
var path = Path.Combine( root, "Projects", "Prj.zip" );
File.Delete(path); //will try to delete C:\Projects\Prj.zip
試す
string file = @"C:\Projets\Prj.zip";
if( System.IO.File.Exists(file))
System.IO.File.Delete(file);