本文記錄我在 UOS Linux 系統上使用 Process.Start 開啟檔案的行為
使用 UseShellExecute 開啟文字檔案
我放入了名為 Test.txt 的檔案,然後使用下面程式碼嘗試開啟檔案。實際測試可以正常開啟
using System.Diagnostics;
var filePath = "../Test.txt";
Console.WriteLine($"檔案存在 {File.Exists(filePath)}");
Process.Start(new ProcessStartInfo(filePath)
{
UseShellExecute = true
});
本文以上程式碼放在github 和 gitee 歡迎訪問
可以透過如下方式獲取本文的原始碼,先建立一個空資料夾,接著使用命令列 cd 命令進入此空資料夾,在命令列裡面輸入以下程式碼,即可獲取到本文的程式碼
git init
git remote add origin https://gitee.com/lindexi/lindexi_gd.git
git pull origin bdc7f6d136079f726aa04b10859149c36c91a940
以上使用的是 gitee 的源,如果 gitee 不能訪問,請替換為 github 的源。請在命令列繼續輸入以下程式碼
git remote remove origin
git remote add origin https://github.com/lindexi/lindexi_gd.git
git pull origin bdc7f6d136079f726aa04b10859149c36c91a940
獲取程式碼之後,進入 ChoqonerekiFojijihel 資料夾
使用 UseShellExecute 開啟資料夾
只是將傳入引數從檔案換成資料夾,可以正常
using System.Diagnostics;
var filePath = "../../Documents";
Console.WriteLine($"資料夾存在 {Directory.Exists(filePath)}");
Process.Start(new ProcessStartInfo(filePath)
{
UseShellExecute = true
});
本文以上程式碼放在github 和 gitee 歡迎訪問
可以透過如下方式獲取本文的原始碼,先建立一個空資料夾,接著使用命令列 cd 命令進入此空資料夾,在命令列裡面輸入以下程式碼,即可獲取到本文的程式碼
git init
git remote add origin https://gitee.com/lindexi/lindexi_gd.git
git pull origin 11ac184046099dd6e8e558794abf314b1649d869
以上使用的是 gitee 的源,如果 gitee 不能訪問,請替換為 github 的源。請在命令列繼續輸入以下程式碼
git remote remove origin
git remote add origin https://github.com/lindexi/lindexi_gd.git
git pull origin 11ac184046099dd6e8e558794abf314b1649d869
獲取程式碼之後,進入 ChoqonerekiFojijihel 資料夾
使用 UseShellExecute 開啟 URL 到瀏覽器
測試程式碼如下
using System.Diagnostics;
Process.Start(new ProcessStartInfo("http://www.baidu.com")
{
UseShellExecute = true
});
本文以上程式碼放在github 和 gitee 歡迎訪問
可以透過如下方式獲取本文的原始碼,先建立一個空資料夾,接著使用命令列 cd 命令進入此空資料夾,在命令列裡面輸入以下程式碼,即可獲取到本文的程式碼
git init
git remote add origin https://gitee.com/lindexi/lindexi_gd.git
git pull origin 77daf740bd87ff4f086a247d853bad93c6d872c1
以上使用的是 gitee 的源,如果 gitee 不能訪問,請替換為 github 的源。請在命令列繼續輸入以下程式碼
git remote remove origin
git remote add origin https://github.com/lindexi/lindexi_gd.git
git pull origin 77daf740bd87ff4f086a247d853bad93c6d872c1
獲取程式碼之後,進入 ChoqonerekiFojijihel 資料夾
使用 xdg-open 開啟資料夾
平替 Windows 下的使用 explorer 開啟資料夾的方法,程式碼如下
using System.Diagnostics;
var filePath = "../../Documents";
Console.WriteLine($"資料夾存在 {Directory.Exists(filePath)}");
Process.Start(new ProcessStartInfo("xdg-open", new []{ filePath })
{
UseShellExecute = false
});
本文以上程式碼放在github 和 gitee 歡迎訪問
可以透過如下方式獲取本文的原始碼,先建立一個空資料夾,接著使用命令列 cd 命令進入此空資料夾,在命令列裡面輸入以下程式碼,即可獲取到本文的程式碼
git init
git remote add origin https://gitee.com/lindexi/lindexi_gd.git
git pull origin 75b936382dc5e4eb0a06b6460df3f529b46efd86
以上使用的是 gitee 的源,如果 gitee 不能訪問,請替換為 github 的源。請在命令列繼續輸入以下程式碼
git remote remove origin
git remote add origin https://github.com/lindexi/lindexi_gd.git
git pull origin 75b936382dc5e4eb0a06b6460df3f529b46efd86
獲取程式碼之後,進入 ChoqonerekiFojijihel 資料夾
使用 xdg-open 開啟檔案
以下繼續使用文字檔案作為例子,程式碼如下
using System.Diagnostics;
var filePath = "../Test.txt";
Console.WriteLine($"資料夾存在 {Directory.Exists(filePath)}");
Process.Start(new ProcessStartInfo("xdg-open", new []{ filePath })
{
UseShellExecute = false
});
本文以上程式碼放在github 和 gitee 歡迎訪問
可以透過如下方式獲取本文的原始碼,先建立一個空資料夾,接著使用命令列 cd 命令進入此空資料夾,在命令列裡面輸入以下程式碼,即可獲取到本文的程式碼
git init
git remote add origin https://gitee.com/lindexi/lindexi_gd.git
git pull origin cc11838fe0b21a6ab4d4d5142fee15c33ab5fd96
以上使用的是 gitee 的源,如果 gitee 不能訪問,請替換為 github 的源。請在命令列繼續輸入以下程式碼
git remote remove origin
git remote add origin https://github.com/lindexi/lindexi_gd.git
git pull origin cc11838fe0b21a6ab4d4d5142fee15c33ab5fd96
獲取程式碼之後,進入 ChoqonerekiFojijihel 資料夾
使用 xdg-open 開啟 URL 地址
測試程式碼如下
using System.Diagnostics;
Process.Start(new ProcessStartInfo("xdg-open", new[] { "http://blog.lindexi.com" })
{
UseShellExecute = false
});
本文以上程式碼放在github 和 gitee 歡迎訪問
可以透過如下方式獲取本文的原始碼,先建立一個空資料夾,接著使用命令列 cd 命令進入此空資料夾,在命令列裡面輸入以下程式碼,即可獲取到本文的程式碼
git init
git remote add origin https://gitee.com/lindexi/lindexi_gd.git
git pull origin 6d4a87d1734682bb1fb1e2202413c4758e42f44d
以上使用的是 gitee 的源,如果 gitee 不能訪問,請替換為 github 的源。請在命令列繼續輸入以下程式碼
git remote remove origin
git remote add origin https://github.com/lindexi/lindexi_gd.git
git pull origin 6d4a87d1734682bb1fb1e2202413c4758e42f44d
獲取程式碼之後,進入 ChoqonerekiFojijihel 資料夾
更多閱讀
其他關於測試在 Linux 的行為,請參閱
- dotnet 測試在 Linux 系統上的 Environment.GetFolderPath 行為
更多 dotnet 在 Linux 的開發部落格請參閱 部落格導航
更多關於 xdg-open 請參閱 Ubuntu Manpage: xdg-open - opens a file or URL in the user's preferred application