我一直在尝试在c#中为2个不同的路径做一个重命名程序而且我一直收到错误“路径包含无效字符”我不知道如何修复它,我已经尝试添加@并删除\并保持只有一个 。但仍然没有弄清楚如何解决它。会喜欢任何帮助。
这就是我错误的原因:
if (French.Checked)
{
directoryfile = @"C:\Users\" + curruser + @"\Appdata\Local\fo4renamer\directory.txt";
label1.Text = directoryfile;
readpath = File.ReadAllText(directoryfile);
string shouldwork = readpath + "data";
string french = shouldwork + "\\french";
string german = shouldwork + "\\german";
string tmp = shouldwork + "tmp.txt";
label1.Text = french;
string path2 = @"C:\Users\duchacekda\Desktop\e\Renamer\Renamer\bin\Debug\tmp.txt";
string filename = @"C:\Users\duchacekda\Desktop\e\Renamer\Renamer\bin\Debug\french.txt";
File.Move(french, german);
}
以下是整个代码: https://pastebin.com/0i7fzh24
编辑:这是curruser的字符串
string curruser = System.Environment.UserName;
这一行给出了例外
File.Move(french, german);
答案 0 :(得分:0)
File.ReadAllText Method (String):打开文本文件,读取文件的所有行,然后关闭文件。
所以在你的场景中:
string french = (Content of directory.txt) + "data" + "\\french";
取决于directory.txt的内容
a)如果content =目录路径(c:\ foo)没有问题
b)如果内容="虚拟文本***虚拟文本"那么它会抛出异常
请检查文件内容
答案 1 :(得分:0)
发现错误,我使用了WriteLine而不是Write,所以它在行的末尾添加了输入,这使得路径不正确,感谢您的帮助