/images/graphicsLib/ にあるディレクトリ内のいくつかの画像の名前を変更するのに助けが必要です。
/graphicsLib/ 内のすべての画像名には、400-60947.jpg のような命名規則があります。ファイルの「400」の部分をプレフィックスと呼び、「60957」の部分をサフィックスと呼びます。SKU と呼ばれるファイル名全体。
したがって、/graphicLib/ の内容を見ると、
次
の
よう
に
なり
ます
。
500-60733.jpg
など...
C#と System.IOを使用して、ファイル名のプレフィックスに基づいてすべての画像ファイルの名前を変更する許容される方法は何ですか? ユーザーは現在の接頭辞を入力し、一致する /graphicsLib/ 内のすべての画像を表示してから、新しい接頭辞を入力して、それらすべてのファイルの名前を新しい接頭辞で変更できる必要があります。ファイルのプレフィックスのみが名前変更され、残りのファイル名は変更する必要があります。
私がこれまでに持っているものは次のとおりです。
//enter in current prefix to see what images will be affected by
// the rename process,
// bind results to a bulleted list.
// Also there is a textbox called oldSkuTextBox and button
// called searchButton in .aspx
private void searchButton_Click(object sender, EventArgs e)
{
string skuPrefix = oldSkuTextBox.Text;
string pathToFiles = "e:\\sites\\oursite\\siteroot\\images\graphicsLib\\";
string searchPattern = skuPrefix + "*";
skuBulletedList.DataSource = Directory.GetFiles(pathToFiles, searchPattern);
skuBulletedList.DataBind();
}
//enter in new prefix for the file rename
//there is a textbox called newSkuTextBox and
//button called newSkuButton in .aspx
private void newSkuButton_Click(object sender, EventArgs e)
{
//Should I loop through the Items in my List,
// or loop through the files found in the /graphicsLib/ directory?
//assuming a loop through the list:
foreach(ListItem imageFile in skuBulletedList.Items)
{
string newPrefix = newSkuTextBox.Text;
//need to do a string split here?
//Then concatenate the new prefix with the split
//of the string that will remain changed?
}
}