ChrisV85 Ответов: 1

Как удалить ".pem" в имени файла


Добрый вечер,

Как удалить ".pem" в имени файла, чтобы изменить его на ". ppk"

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SimplePEMCalculator
{
    class clsConvert
    {
        private string FilePath, OutputPath, WinSCPPath;
        public clsConvert(string fpath, string opath, string ppath)
        {
            FilePath = fpath;
            OutputPath = opath;
            WinSCPPath = ppath;
        }
     
        public int doConvert()
        {
            //try conversion 
            try
            {
                System.Diagnostics.Process process = new System.Diagnostics.Process();
                System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
                startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                startInfo.FileName = WinSCPPath + "\\" + "winscp.com";
                //forming the ouput file by getting the input filename and adding the current date
                string outputfile = FilePath.Substring(FilePath.LastIndexOf("\\") + 1) + ".ppk" ;
                string op = OutputPath + "\\"+outputfile;
                startInfo.Arguments = "/keygen " + FilePath + " -o " + op;
                process.StartInfo = startInfo;
                process.Start();
                process.Close();
                return 1; 
            }
            catch
            {
                return 0;
            }
        }
    }
}


Что я уже пробовал:

Я попробовал несколько вариантов и пришел с пустыми и ошибками.

Еще раз спасибо!

0x01AA

Это поможет вам я думаю: Путь.Метод ChangeExtension (String, String) (System.IO)[^]

Richard MacCutchan

Это должно быть решением.

Philippe Mori

Вы никогда не должны делать явные строковые манипуляции с именами файлов, когда уже есть функции, которые делают это в System.IO.Path класс.

И изучение того, как использовать Google или какую-то другую поисковую систему, было бы хорошим решением для 2017 года. При очень минимальной компетенции поиска можно найти это менее чем за 10 секунд (Bing: c# remove file Extension - первый результат) : Удалить расширение файла из строки имени файла

1 Ответов

Рейтинг:
5

Maciej Los

Как Бруно (0x01AA[^]) и Филипп Мори[^] упомянутый в комментариях к вопросу, вы должны использовать Класс пути[^], например:
Метод Path. GetFileName (Строка) (System.IO)[^]
Path.GetFileNameWithoutExtension Метод (Строка) (System.IO)[^]
Метод Path. GetExtension (String) (System.IO)[^]

Попробуй! Удачи!