我正在尝试获取字符串的完整路径,如下所示:
ksh /u01/Utilities/SSL_Certificates/TestCert_20170724.sh
但我遇到了问题而且我正在接受
/u01/Utilities/SSL_Certificates/Tes
那是因为从ksh
获得了4个字符
如何从0开始计数到“/”
的第一个索引我拥有的是:
string SSL_configuration_Path = ShellCommand.Substring(ShellCommand.IndexOf("/"), ShellCommand.LastIndexOf("/"));
答案 0 :(得分:2)
第二个参数是多少个字符。
不是最后一个角色。
string SSL_configuration_Path = ShellCommand.Substring(
ShellCommand.IndexOf("/"),
ShellCommand.LastIndexOf("/") - ShellCommand.IndexOf("/"));
这不是一个好的解决方案,但它应该解释你做错了什么以及为什么它不起作用。
答案 1 :(得分:1)
尝试使用专门用于处理目录和文件名称的Parh
类:
string ShellCommand = "ksh /u01/Utilities/SSL_Certificates/TestCert_20170724.sh";
string path = Path.GetDirectoryName(ShellCommand
.Substring(line.IndexOfAny(new char[] {
Path.AltDirectorySeparatorChar,
Path.DirectorySeparatorChar })));
Console.WriteLine(path);
结果:
\u01\Utilities\SSL_Certificates
请注意,您可以使用/
或\
作为direcory分隔符,并将最终结果标准化(即使用Path.DirectorySeparatorChar
分隔符)