WinSoftFileUtility 1.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package WinSoftFileUtility --version 1.0.1                
NuGet\Install-Package WinSoftFileUtility -Version 1.0.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WinSoftFileUtility" Version="1.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add WinSoftFileUtility --version 1.0.1                
#r "nuget: WinSoftFileUtility, 1.0.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install WinSoftFileUtility as a Cake Addin
#addin nuget:?package=WinSoftFileUtility&version=1.0.1

// Install WinSoftFileUtility as a Cake Tool
#tool nuget:?package=WinSoftFileUtility&version=1.0.1                

FileUtility

A library for displaying file names and retrieving directory content, implemented in a PathInfo class.

.NET 6.0, Windows only. Can only be used if target framework is set to .net6.0-windows.

<TargetFramework>net6.0-windows</TargetFramework>

Install:

Install-Package WinSoftFileUtility

Shorten a path:

var max = 15;
var f = new PathInfo(new FileInfo(@"C:\Temp\hello.txt"));
Console.WriteLine(f.CompactPathForDisplay(15))

// Result: C:...\hello.txt

Get the size of a file in gigabytes:

var p = new PathInfo(new FileInfo(@"..."));
Console.WriteLine(p.SizeGigaBytes);

Get the size of a directory as a readable string:

var p = new PathInfo(new DirectoryInfo(@"..."));
Console.WriteLine(p.SizeAsString);

// Result: 52,21 Mb

Retrieve directory contents in two levels:

var l = new PathInfo(new DirectoryInfo(@"C:\")).GetDirectoryContent(2);
Console.WriteLine(l.Count);
foreach (var p in l)
    Console.WriteLine(p);

Retrieve directory contents in three levels, if file ending is .ico:

bool Guard(PathInfo p) =>
    p.ContainsDirectory || (p.ContainsFile && p.FullName.EndsWith(".ico", StringComparison.CurrentCultureIgnoreCase));

var l = new PathInfo(new DirectoryInfo(@"C:\")).GetDirectoryContent(3, Guard);
Console.WriteLine(l.Count);
foreach (var p in l)
    Console.WriteLine(p);
Product Compatible and additional computed target framework versions.
.NET net6.0-windows7.0 is compatible.  net7.0-windows was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0-windows7.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.4 152 3/9/2024
1.0.3 268 3/3/2023
1.0.1 296 12/14/2022
1.0.0 323 10/15/2022

Added properties for getting size in different formats for both files and directories.