0

これに似た質問が寄せられていることは承知していますが、私の状況に適切に答えているものはないようです。だから私はこのビットのコードを持っています:

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()
4

0 に答える 0