Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions snippets/csharp/System.IO/Directory/EnumerateFiles/program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@
using System.IO;
using System.Linq;

class Program
partial class Example2
{
static void Main(string[] args)
static void SearchOptionExample()
{
try
{
// Set a variable to the My Documents path.
string docPath =
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string docPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

var files = from file in Directory.EnumerateFiles(docPath, "*.txt", SearchOption.AllDirectories)
from line in File.ReadLines(file)
Expand All @@ -26,7 +25,8 @@ where line.Contains("Microsoft")
{
Console.WriteLine($"{f.File}\t{f.Line}");
}
Console.WriteLine($"{files.Count().ToString()} files found.");

Console.WriteLine($"{files.Count()} files found.");
}
catch (UnauthorizedAccessException uAEx)
{
Expand Down
12 changes: 6 additions & 6 deletions snippets/csharp/System.IO/Directory/EnumerateFiles/program1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,22 @@
using System.Linq;
using System.IO;

class Program
partial class Example2
{
static void Main(string[] args)
static void OneStringExample()
{
try
{
// LINQ query for all files containing the word 'Europe'.
var files = from file in
Directory.EnumerateFiles(@"\\archives1\library\")
where file.ToLower().Contains("europe")
select file;
var files = from file in Directory.EnumerateFiles(@"\\archives1\library\")
where file.ToLower().Contains("europe")
select file;

foreach (var file in files)
{
Console.WriteLine("{0}", file);
}

Console.WriteLine("{0} files found.", files.Count<string>().ToString());
}
catch (UnauthorizedAccessException UAEx)
Expand Down
11 changes: 6 additions & 5 deletions snippets/csharp/System.IO/Directory/EnumerateFiles/program2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,25 @@
using System.Linq;
using System.IO;

class Program
partial class Example2
{
static void Main(string[] args)
static void TwoStringsExample()
{
try
{
// LINQ query for all .txt files containing the word 'Europe'.
var files = from file in Directory.EnumerateFiles(@"\\archives1\library\", "*.txt")
where file.ToLower().Contains("europe")
select file;
where file.ToLower().Contains("europe")
select file;

foreach (var file in files)
{
Console.WriteLine("{0}", file);
}

Console.WriteLine("{0} files found.", files.Count<string>().ToString());
}

catch (UnauthorizedAccessException UAEx)
{
Console.WriteLine(UAEx.Message);
Expand Down
50 changes: 50 additions & 0 deletions snippets/csharp/System.IO/Directory/EnumerateFiles/program3.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// <Snippet1>
using System;
using System.IO;
using System.Linq;

partial class Example2
{
static void EnumerationOptionsExample()
{
try
{
// Set a variable to the My Documents path.
string docPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

// Set the options for the enumeration.
var options = new EnumerationOptions
{
IgnoreInaccessible = true,
MatchCasing = MatchCasing.CaseInsensitive,
MatchType = MatchType.Simple,
RecurseSubdirectories = true
};

var files = from file in Directory.EnumerateFiles(docPath, "*.txt", options)
from line in File.ReadLines(file)
where line.Contains("Microsoft")
select new
{
File = file,
Line = line
};

foreach (var f in files)
{
Console.WriteLine($"{f.File}\t{f.Line}");
}

Console.WriteLine($"{files.Count()} files found.");
}
catch (PathTooLongException pathEx)
{
Console.WriteLine(pathEx.Message);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
// </Snippet1>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net9.0</TargetFramework>
</PropertyGroup>

</Project>
31 changes: 14 additions & 17 deletions snippets/csharp/System.IO/Directory/Overview/class2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,27 @@
using System;
using System.IO;

namespace ConsoleApplication
partial class Example1
{
class Program
static void TwoStringsExample()
{
static void Main(string[] args)
{
string sourceDirectory = @"C:\current";
string archiveDirectory = @"C:\archive";
string sourceDirectory = @"C:\current";
string archiveDirectory = @"C:\archive";

try
{
var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt");
try
{
var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt");

foreach (string currentFile in txtFiles)
{
string fileName = currentFile.Substring(sourceDirectory.Length + 1);
Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
}
}
catch (Exception e)
foreach (string currentFile in txtFiles)
{
Console.WriteLine(e.Message);
string fileName = currentFile.Substring(sourceDirectory.Length + 1);
Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
// </snippet10>
35 changes: 17 additions & 18 deletions snippets/csharp/System.IO/Directory/Overview/class3.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,28 @@
using System.IO;
using System.Linq;

namespace ConsoleApplication

partial class Program
{
class Program
static void EnumerateFilesExample()
{
static void Main(string[] args)
{
string archiveDirectory = @"C:\archive";
string archiveDirectory = @"C:\archive";

var files = from retrievedFile in Directory.EnumerateFiles(archiveDirectory, "*.txt", SearchOption.AllDirectories)
from line in File.ReadLines(retrievedFile)
where line.Contains("Example")
select new
{
File = retrievedFile,
Line = line
};
var files = from retrievedFile in Directory.EnumerateFiles(archiveDirectory, "*.txt", SearchOption.AllDirectories)
from line in File.ReadLines(retrievedFile)
where line.Contains("Example")
select new
{
File = retrievedFile,
Line = line
};

foreach (var f in files)
{
Console.WriteLine("{0} contains {1}", f.File, f.Line);
}
Console.WriteLine("{0} lines found.", files.Count().ToString());
foreach (var f in files)
{
Console.WriteLine("{0} contains {1}", f.File, f.Line);
}

Console.WriteLine("{0} lines found.", files.Count().ToString());
}
}
// </snippet11>
31 changes: 14 additions & 17 deletions snippets/csharp/System.IO/Directory/Overview/class4.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,27 @@
using System;
using System.IO;

namespace ConsoleApplication
partial class Example1
{
class Program
static void OneStringExample()
{
static void Main(string[] args)
{
string sourceDirectory = @"C:\current";
string archiveDirectory = @"C:\archive";
string sourceDirectory = @"C:\current";
string archiveDirectory = @"C:\archive";

try
{
var txtFiles = Directory.EnumerateFiles(sourceDirectory);
try
{
var txtFiles = Directory.EnumerateFiles(sourceDirectory);

foreach (string currentFile in txtFiles)
{
string fileName = currentFile.Substring(sourceDirectory.Length + 1);
Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
}
}
catch (Exception e)
foreach (string currentFile in txtFiles)
{
Console.WriteLine(e.Message);
string fileName = currentFile.Substring(sourceDirectory.Length + 1);
Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
// </snippet12>
33 changes: 15 additions & 18 deletions snippets/csharp/System.IO/Directory/Overview/class5.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,27 @@
using System;
using System.IO;

namespace ConsoleApplication
partial class Example1
{
class Program
static void SearchOptionExample()
{
static void Main(string[] args)
{
string sourceDirectory = @"C:\current";
string archiveDirectory = @"C:\archive";
string sourceDirectory = @"C:\current";
string archiveDirectory = @"C:\archive";

try
{
var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt", SearchOption.AllDirectories);
try
{
var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt", SearchOption.AllDirectories);

foreach (string currentFile in txtFiles)
{
string fileName = currentFile.Substring(sourceDirectory.Length + 1);
Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
}
}
catch (Exception e)
foreach (string currentFile in txtFiles)
{
Console.WriteLine(e.Message);
string fileName = currentFile.Substring(sourceDirectory.Length + 1);
Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
// </snippet13>
// </snippet13>
25 changes: 11 additions & 14 deletions snippets/csharp/System.IO/Directory/Overview/class6.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,20 @@
using System;
using System.IO;

namespace ConsoleApplication
partial class Program
{
class Program
static void DirectoryMoveExample()
{
static void Main(string[] args)
{
string sourceDirectory = @"C:\source";
string destinationDirectory = @"C:\destination";
string sourceDirectory = @"C:\source";
string destinationDirectory = @"C:\destination";

try
{
Directory.Move(sourceDirectory, destinationDirectory);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
try
{
Directory.Move(sourceDirectory, destinationDirectory);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
Expand Down
15 changes: 6 additions & 9 deletions snippets/csharp/System.IO/Directory/Overview/class7.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,15 @@
using System.IO;
using System.Security.AccessControl;

namespace ConsoleApplication
partial class Program
{
class Program
static void CreateDirectoryExample()
{
static void Main(string[] args)
{
DirectorySecurity securityRules = new DirectorySecurity();
securityRules.AddAccessRule(new FileSystemAccessRule(@"Domain\account1", FileSystemRights.Read, AccessControlType.Allow));
securityRules.AddAccessRule(new FileSystemAccessRule(@"Domain\account2", FileSystemRights.FullControl, AccessControlType.Allow));
DirectorySecurity securityRules = new DirectorySecurity();
securityRules.AddAccessRule(new FileSystemAccessRule(@"Domain\account1", FileSystemRights.Read, AccessControlType.Allow));
securityRules.AddAccessRule(new FileSystemAccessRule(@"Domain\account2", FileSystemRights.FullControl, AccessControlType.Allow));

DirectoryInfo di = Directory.CreateDirectory(@"C:\destination\NewDirectory", securityRules);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @gewarren, this code is legacy, right? The second parameter of the CreateDirectory method is only for Unix-like systems, or am I wrong?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, looks like the 2-parameter overload takes a DirectorySecurity in .NET Framework and a UnixFileMode in .NET. So this project will need to target .NET Framework instead of .NET 9 since this example is used in the .NET Framework overload docs.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, Thanks!

}
DirectoryInfo di = Directory.CreateDirectory(@"C:\destination\NewDirectory", securityRules);

Check failure on line 14 in snippets/csharp/System.IO/Directory/Overview/class7.cs

View workflow job for this annotation

GitHub Actions / snippets-build

D:\a\dotnet-api-docs\dotnet-api-docs\snippets\csharp\System.IO\Directory\Overview\class7.cs(14,86): error CS1503: Argument 2: cannot convert from 'System.Security.AccessControl.DirectorySecurity' to 'System.IO.UnixFileMode' [D:\a\dotnet-api-docs\dotnet-api-docs\snippets\csharp\System.IO\Directory\Overview\project.csproj]
}
}
// </snippet15>
Loading
Loading