Možná ti to nepřijde normální ,ale kdyby jsi znal důvod tak by jsi zjistil že v tom bude asi trocha logiky (jen trocha) :D
Btw. zkoušel jsem to udělat ,ale nevim jak to udělat aby to šlo od zhora.Napadlo mě jedině že j by mělo hodnotu f a šlo by jako j--; ale nwm
DirectoryInfo d = new DirectoryInfo(Server.MapPath("/news/news"));
string d2 = Server.MapPath("/news/news");
FileInfo[] f = d.GetFiles("*.txt");
for (int j = 1; j < f.Length; j++)
{
File.Move(d2+j+".txt",d2+j+1+".txt");
}