我從註冊表中讀取啓動項,並檢查是否存在相關的文件。C#中排除參數檔案路徑
實例註冊表值:
"C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static\amd64\CLIStart.exe" MSRun
C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static\amd64\CLIStart.exe MSRun
"C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static\amd64\CLIStart.exe" /parameter
"C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static\amd64\CLIStart.exe" -paramaeter1 -parameter2
C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static\amd64\CLIStart.exe -MSRun /parameter
"C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static\amd64\CLIStart.exe -MSRun /parameter"
我怎麼能排除的參數?我只想要C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static\amd64\CLIStart.exe
部分。
如何操作系統使得這種分離?
我不認爲有一個內置的方法來做到這一點。我要做的是首先刪除引號,然後'Path.GetExtension',刪除(包括)擴展名中的第一個空格之後的所有內容,然後再將「Path.Combine」再次合併到一起。 – Corak
@Corak當註冊表值就像是它失敗的 「C:\ Program Files文件(x86)的\ WinPcap的\ rpcapd.exe」 -d -f 「C:\ Program Files文件(x86)的\ WinPcap的\ rpcapd.ini」 – user2617750
好吧,嘗試再次刪除引號,然後用空格「string.Split」。然後嘗試如果第一個'File.Exists',然後是'+ =「」+ second'等等,直到'File.Exists'返回true。 - 或者如果它以引號開始,找到下一個,並介於兩者之間。 – Corak