(たとえば)にあるフォルダー名を取得する方法を探していますhttp://example.com/download/"foldername here"
この理由は、まだ .zip を持っていない場合は常に .zip をダウンロードする ac# プログラムがあるためですが、現在は新しいバージョンをダウンロードしません。
例: 現在、 からダウンロードされhttp://example.com/download/1.0/file.zip
ます。チェック対象のフォルダーが既にある場合はダウンロードされませんが、そのフォルダーがある場合http://example.com/download/2.0/file.zip
は、新しいバージョンを含む からダウンロードされません。現在のバージョンを含むファイルを作成しましたが、最新バージョンが存在するフォルダーに対してそのファイルをチェックするプログラムを取得するにはどうすればよいですか?
version.txt
編集:最初にファイルをダウンロードし、ダウンロードの最新バージョンを含むコンテンツを読み取るようにコードを作り直しました。
コード:
if (radUseFile.Checked)
{
//get latest version on website
WebClient modver = new WebClient();
modver.UseDefaultCredentials = true;
modver.DownloadFile("http://www.example.com/download/version.txt", tempdir _
+ "version.txt");
using (StreamReader ver = new StreamReader(tempdir + "version.txt"))
{
siteversion = ver.ReadToEnd();
}
File.Delete(tempdir + "version.txt");
if (Directory.Exists(folder))
{
if (File.Exists(folder + "\\version.txt"))
{
using (StreamReader sr = new StreamReader(folder + "\\version.txt"))
{
latestversion = sr.ReadToEnd();
}
if (latestversion != siteversion)
{
uptodate = false;
}
else
{
uptodate = true;
}
}
}
else
{
uptodate = false;
}
if (!uptodate)
{
//download and extract the files
WebClient downloader = new WebClient();
label4.Text = "Downloading full client. May take a while";
this.Update();
downloader.UseDefaultCredentials = true;
downloader.DownloadFile("http://www.example.com/download" + siteversion _
+ "/zipfile.zip", templocation + "zipfile.zip");
label4.Text = "Extracting...";
Shell32.Shell sc = new Shell32.Shell();
Directory.CreateDirectory(tempdir);
Shell32.Folder output = sc.NameSpace(tempdir);
Shell32.Folder input = sc.NameSpace(tempdir + "zipfile.zip");
output.CopyHere(input.Items(), 4);
label4.Text = "Cleaning up...";
File.Delete(tempdir + "zipfile.zip");
new Microsoft.VisualBasic.Devices.Computer().FileSystem.CopyDirectory(tempdir,_
folderlocation, true);
Directory.Delete(tempdir, true);
uptodate = true;
}
}
else
{
uptodate = true;
}
これは今のところ機能しますが、このコード、または最新バージョンをどのように取得するかについての方法全体を改善できると確信しています