C# 如何使用'进行mysql备份或恢复;空间';在给定的路径C中#

C# 如何使用'进行mysql备份或恢复;空间';在给定的路径C中#,c#,.net,mysql,mysqldump,C#,.net,Mysql,Mysqldump,当我尝试进行数据库备份或还原时,意味着它无法正常工作。因为我给出的路径包含“空格” 备份/恢复文件路径:“C:\Documents and Settings\prabhu\Desktop\BackUp.sql” (文档和设置包含“空格”) 我在C#工作 代码: string directoryName = D:\\Shop Plan\\ERP Project\\Main Source\\OutPut\\Debug\\DBBackup; string filePath = "C:\Documen

当我尝试进行数据库备份或还原时,意味着它无法正常工作。因为我给出的路径包含“空格”

备份/恢复文件路径:“C:\Documents and Settings\prabhu\Desktop\BackUp.sql”
文档和设置包含“空格”)

我在C#工作

代码:

string directoryName = D:\\Shop Plan\\ERP Project\\Main Source\\OutPut\\Debug\\DBBackup;

string filePath = "C:\Documents and Settings\prabhu\Desktop\Backup.sql";

TextWriter textWriter = new StreamWriter(filePath);

textWriter.WriteLine("CD " + directoryName);

if (type == "Backup")
{
  textWriter.WriteLine("mysqldump -h " + "SERVERNAME"+ " -u " + "USERNAME" + " -p" + "PASSWORD" + " -P " + "PORT" + " --routines " + "DATABASE_NAME" + " -B> " + filePath);
}

else if (type == "Restore")
{
  textWriter.WriteLine("mysql -h " + "SERVERNAME" + " -u " + "USERNAME" + " -p" + "PASSWORD" +" -P " + "PORT" + " <" + filePath);
}

textWriter.Close();

Process processes = new Process();

processes.StartInfo.WorkingDirectory = directoryName ;

processes.StartInfo.FileName = "Backup.BAT";

processes.StartInfo.CreateNoWindow = true;

processes.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

processes.Start();

processes.WaitForExit();
string directoryName=D:\\Shop Plan\\ERP Project\\Main Source\\OutPut\\Debug\\DBBackup;
string filePath=“C:\Documents and Settings\prabhu\Desktop\Backup.sql”;
TextWriter TextWriter=新的StreamWriter(文件路径);
textWriter.WriteLine(“CD”+目录名);
如果(类型=“备份”)
{
textWriter.WriteLine(“mysqldump-h”+“SERVERNAME”+“-u”+“USERNAME”+“-p”+“PASSWORD”+“-p”+“PORT”+”--routines”+“DATABASE_NAME”+“-B>”+filePath);
}
else if(类型==“还原”)
{

textWriter.WriteLine(“mysql-h”+“SERVERNAME”+“-u”+“USERNAME”+“-p”+“PASSWORD”+“-p”+“PORT”+”您确定是空格还是需要语法@

行:

string directoryName = D:\\Shop Plan\\ERP Project\\Main Source\\OutPut\\Debug\\DBBackup;

string filePath = "C:\Documents and Settings\prabhu\Desktop\Backup.sql";
改为:

string directoryName = "\"" + @"D:\Shop Plan\ERP Project\Main Source\OutPut\Debug\DBBackup" + "\"";

string filePath = "\"" + @"C:\Documents and Settings\prabhu\Desktop\Backup.sql" + "\"";

备份/还原数据库的确切代码是什么?您是否将路径放入了一些额外的“”中?根据您的代码,您可能必须转义额外的“\”C:\Documents and Settings\prabhu\Desktop\backup.sql”这通常会起作用,问题的格式非常糟糕,很难理解。无论如何,在字符串前加一个@,并加上双引号:string filePath=@“C:\Documents and Settings\prabhu\Desktop\Backup.sql”;
string directoryName = "\"" + @"D:\Shop Plan\ERP Project\Main Source\OutPut\Debug\DBBackup" + "\"";

string filePath = "\"" + @"C:\Documents and Settings\prabhu\Desktop\Backup.sql" + "\"";