0

圧縮されたバックアップを作成する小さなプログラムを作成しました。以下の編集をご覧ください。

NotSupportedExceptionファイルパスには、実行しようとすると生成されるコロンが含まれています。
次のパスがある場合:プログラムがファイルパスを処理し、正しいディレクトリ/ファイルを見つけるために
C:\Testing facility\SampleDirectory
何を置き換えることができますか?:

この MSDN の記事に示されている例では、コロンやその他の不正な文字に関する問題については何も述べられていません。何か間違っているのでしょうか?

私のディレクトリ圧縮コードは次のとおりです。

private void CompressDirectory()
{
    zipPath = backupPath + DateTime.Now.ToString().Replace(':', '-') + ").";

    try
    {
        ZipFile.CreateFromDirectory(sourcePath, zipPath, CompressionLevel.Optimal, true);
        getresultmessage();
    }
    catch (IOException v)
    {
        errMsg = "Failed trying to start compression. \n" + v.ToString();
    }
}

編集:
さらにデバッグした後、ファイル文字列が何らかの理由で二重に追加されていることに気付きました。これによりsourcePath、価値が得られたことを意味します
"C:\\Testing facility\\SampleDirectory"
。同様のイベントがバックアップ パスで発生しました。

これはなぜですか? 修正するにはどうすればよいですか?

4

2 に答える 2

1

これを試してみてください

@"C:\テスト施設\SampleDirectory"

于 2014-09-30T11:40:49.163 に答える
1

交換:

DateTime.Now.ToString().Replace(':', '-')

と:

DateTime.Now.ToString("yyyy-MM-dd-HH-mm")

削除する")."

あなたの編集については、エスケープ\\されているためです。\

于 2014-09-30T11:40:54.777 に答える