![](/img/trans.png)
[英]How to zip and unzip root folder in isolated storage containing subfolders and files
[英]How to create a folder having some subfolders, in a root folder selected by the user?
我有這段代碼可以在用戶選擇的路徑中創建子文件夾
FolderBrowserDialog folderBrs = new FolderBrowserDialog();
if (folderBrs.ShowDialog() == DialogResult.OK)
{
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(folderBrs.SelectedPath;
dir.CreateSubdirectory("subfolder1");
dir.CreateSubdirectory("subfolder2");
}
它工作正常,但問題是 ir 使子文件夾沒有主文件夾,所以你嘗試了這段代碼
FolderBrowserDialog folderBrs = new FolderBrowserDialog();
if (folderBrs.ShowDialog() == DialogResult.OK)
{
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(folderBrs.SelectedPath + textBox1.Text.Trim());
dir.CreateSubdirectory("subfolder1");
dir.CreateSubdirectory("subfolder2");
}
如您所見,唯一的區別是添加了文本框,但是當我鍵入名稱時它不會創建文件夾,它什么也沒有,但有趣的是,如果我選擇一個現有的文件夾,它會創建文件夾子文件夾,但主文件夾的名稱與我選擇的現有文件夾的名稱混合在一起
我做錯了什么? 有什么建議嗎?
假設所選路徑存在,以下是更正的代碼:
if ( folderBrs.ShowDialog() == DialogResult.OK )
{
var dir = new DirectoryInfo(folderBrs.SelectedPath);
dir = dir.CreateSubdirectory(textBox1.Text.Trim());
dir.CreateSubdirectory("subfolder1");
dir.CreateSubdirectory("subfolder2");
}
我們為所選路徑獲取目錄信息的實例。
接下來,我們從文本框創建子文件夾。
然后我們在其中創建兩個子文件夾。
讓我們將所需的路徑創建為string
:
string dir = Path.Combine(folderBrs.SelectedPath + textBox1.Text.Trim(),
"subfolder1",
"subfolder2");
然后我們可以創建目錄:
Directory.CreateDirectory(dir);
當然,您可以將兩個片段合並為一個:
using System.IO;
...
using (FolderBrowserDialog folderBrs = new FolderBrowserDialog()) {
if (folderBrs.ShowDialog() == DialogResult.OK)
Directory.CreateDirectory(Path.Combine(
folderBrs.SelectedPath + textBox1.Text.Trim(),
"subfolder1",
"subfolfer2"
));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.