string targetPath = @"C:\Program Files\saadhvi\SetupSafetyPADUniversal\";
string createDatabasesScriptFilePath = Path.Combine(targetPath, "\\EADBScripts\\CreateDatabases.sql");
Run Code Online (Sandbox Code Playgroud)
我得到的createDatabasesScriptFilePath的值是\ EADBScripts\CreateDatabases.sql
但我预计它将是C:\ Program Files\saadhvi\SetupSafetyPADUniversal\EADBScripts\CreateDatabases.sql
我的代码出了什么问题?
mal*_*lay 16
这就是您的代码返回第二条路径的原因(从MSDN帮助中复制) -
如果path2不包含根(例如,如果path2不以分隔符或驱动器规范开头),则结果是两个路径的串联,以及插入的分隔符.如果path2包含根,则返回path2.
Sta*_*eXV 11
从字符串"\ EADBScripts\CreateDatabases.sql"中删除第一个\
我不完全确定原因,但我想Path.Combine想要第二个参数是相对路径,相对路径不以\开头.