Если имя файла в dir не работает - PullRequest
0 голосов
/ 22 февраля 2012

У меня проблема с мелочью ... я кодирую автообновление, и когда я загружаю .exe файл, я хочу поместить его в основной каталог ... и другие. Расширение в вспомогательный каталог.

File.exe = Здесь я загружаю место в главный каталог Иначе = место для подчиненного каталога ... но это не работает, поместите все в главное каталог

if(ex[1] == "File.exe")
{
    if (File.Exists(path))
    {
        if(File.Exists(String.Format("{0}WoW.exe", wow.GetValue("InstallPath").ToString())))
        {
            File.Copy(String.Format("{0}WoW.exe", wow.GetValue("InstallPath").ToString()), String.Format("{0}WoW_zaloha_Awrodar_old_file.exe", wow.GetValue("InstallPath").ToString()), false);
            File.Delete(String.Format("{0}WoW.exe", wow.GetValue("InstallPath").ToString()));
        }
        else if(File.Exists(String.Format("{0}Wow.exe", wow.GetValue("InstallPath").ToString())))
        {
            File.Copy(String.Format("{0}Wow.exe", wow.GetValue("InstallPath").ToString()), String.Format("{0}Wow_zaloha_Awrodar_old_file.exe", wow.GetValue("InstallPath").ToString()), false);
            File.Delete(String.Format("{0}Wow.exe", wow.GetValue("InstallPath").ToString()));
        }

        FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
        MD5 md5 = new MD5CryptoServiceProvider();

        byte[] retVal = md5.ComputeHash(fs);

        fs.Close();

        StringBuilder sb = new StringBuilder();

        foreach(byte b in retVal)
            sb.Append(string.Format("{0:X2}", b));

        if(ex[2] == sb.ToString())
            proceed = false;
    }
}
else
{
    if(File.Exists(MPQpath))
    {
        FileStream fs = new FileStream(MPQpath, FileMode.Open, FileAccess.Read, FileShare.Read);
        MD5 md5 = new MD5CryptoServiceProvider();

        byte[] retVal = md5.ComputeHash(fs);

        fs.Close();

        StringBuilder sb = new StringBuilder();

        foreach(byte b in retVal)
            sb.Append(string.Format("{0:X2}", b));

        if(ex[2] == sb.ToString())
            proceed = false;
    }
}

1 Ответ

0 голосов
/ 23 февраля 2012

Используйте Path.Combine для манипулирования путями для обеспечения правильности имен файлов. Кроме этого я не знаю, что не так с вашим кодом. Вы проследили это, чтобы выяснить, какая линия вызывает вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...