1

コード c# で zip ファイルを削除したい

try
 {
   System.IO.File.Delete(@"‪C:/Projets/Prj.zip");
  }
  catch { }

しかし、私はこのエラーがありますThe format of the given path is not supported.

なぜこの例外が表示されるのですか? このエラーを修正するにはどうすればよいですか?

4

4 に答える 4

3

バックスラッシュではなくスラッシュを使用したため、次のようになりました。

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");
于 2013-06-05T09:04:46.200 に答える
2

Windows のファイル パスは、スラッシュではなくバックスラッシュを使用します。

System.IO.File.Delete(@"C:\Projets\Prj.zip");
于 2013-06-05T09:05:51.563 に答える
1

ライブラリを使用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
于 2013-06-05T09:11:03.437 に答える
0

試す

 string file = @"‪C:\Projets\Prj.zip";
  if( System.IO.File.Exists(file))
    System.IO.File.Delete(file);
于 2013-06-05T09:09:45.530 に答える