我刚才对这个页面不熟悉但已经有问题要问。
好的,我现在正在一个更大的项目(至少对我而言),在一台机器上使用一个约3个Minecraft服务器的服务器接口。
现在我已经到了不再需要手动调用startfiles的地步,所以我创建了一个函数来创建一个Savefile,其中包含名为“(name_of_server)_SAVEFILE”的“servers”startfile(它是一个简单的批处理文件)的位置(number_of_server).TXT”。
现在我希望程序通过询问之前谈到的数字来向我展示(最好在启动时)实际保存了多少台服务器。
我还想实现一个锁,这样已经创建的文件号不能用另一个名字保存,但那是一个不同的故事。
我是这样做的:
private void checkForServer_button_Click(object sender, EventArgs e)
{
if (File.Exists(@"C:\Users\" + system_user + @"\Desktop\savedServers\*1.txt") == true)
{
string server1_location = File.ReadAllText(@"C:\Users\" + system_user + @"\Desktop\savedServers\*_SAVEFILE1.txt");
checkForServer_response.Text = "There are Servers!";
onlyInfo.Clear();
onlyInfo.Text = "[CONSOLE] Found existing Server! Found at: " + server1_location;
}
}
onlyInfo是一个用作虚拟输出atm的RichTextBox,可能会保留在最终版本中以显示保存的批处理文件的外观。
是的,所以基本上我的代码在点击按钮时什么都不做。
另一个问题是,如何正确设置“*”以用于此类用法。
提前致谢!
答案 0 :(得分:1)
File.Exists
不支持文件名中的常用字符。 File.ReadAllText
也没有。
string[] files = System.IO.Directory.GetFiles(@"C:\Users\" + system_user +
@"\Desktop\savedServers\", "*1.txt");
if (files.Length > 0)
{
string server1_location = File.ReadAllText(files[0]);
...
}