これに似た質問が寄せられていることは承知していますが、私の状況に適切に答えているものはないようです。だから私はこのビットのコードを持っています:
String old = @"C:\emsdropbox\" + readData.Substring(0, readData.IndexOf("renamed"));
String newFile = @"C:\emsdropbox\" + readData.Substring(readData.IndexOf("renamed") + 8, readData.Length-(readData.IndexOf("renamed") + 9));
Console.WriteLine(old + " : " + newFile);
old = Regex.Replace(old, @"\'", "");
newFile = Regex.Replace(newFile, @"\'", "");
old = old.Trim();
newFile = newFile.Trim();
Console.WriteLine(old + " : " + newFile);
System.IO.File.Move(old, newFile);</code>
そして、次の 2 つの writeLines から取得します。
1. 'C:\emsdropbox\finally2.txt' : 'C:\emsdropbox\finally3.txt'
2. C:\emsdropbox\finally2.txt : C:\emsdropbox\finally3.txt
しかし、それはこのエラーを出し続けます:
mSystem.ArgumentException: Illegal characters in path.
at System.IO.Path.CheckInvalidPathChars(String path)
at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
at System.IO.Path.GetFullPathInternal(String path)
at System.IO.File.Move(String sourceFileName, String destFileName)
at TCPListener.getMessage()e this error </code>
: が原因だと思いますが、それなしでファイルを参照するにはどうすればよいですか?
これは、誰かが path.combine を提案した後の私の次の試みでした:
String oldData = readData.Substring(0, readData.IndexOf("renamed"));
oldData = Regex.Replace(oldData, @"\'", "");
String newData = readData.Substring(readData.IndexOf("renamed") + 8, readData.Length-(readData.IndexOf("renamed") + 9));
newData = Regex.Replace(newData, @"\'", "");
String old = System.IO.Path.Combine(@"C:\emsdropbox\",oldData);
String newFile = System.IO.Path.Combine(@"C:\emsdropbox\", newData);
System.IO.File.Move(old, newFile);
結果は同じでした
illegal Characters in path
at System.IO.Path.CheckInvalidPathChars(String path)
at System.IO.Path.Combine(String path1, String path2)
at TCPListener.getMessage()