C#移动路径包含无效字符

时间:2018-03-21 10:34:18

标签: c# path rename move

我一直在尝试在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);

2 个答案:

答案 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,所以它在行的末尾添加了输入,这使得路径不正确,感谢您的帮助